информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаЗа кого нас держат?Страшный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[C++] Ну и ладно... 08.02.02 22:58  Число просмотров: 917
Автор: Sandy <Alexander Stepanov> Статус: Elderman
<"чистая" ссылка>
> Просто пришла в голову
> мысль: почему бы не писать try за пределами main.

Мне тоже мысль об этом сразу в голову пришла. Насколько я знаю, компилятор вызов main "заворачивает" в try-блок, который обрабатывает исключение, если оно не было обработано в программе. Может тебе исследовать генерируемый код и попытаться сделать руками нечто аналогичное.
<programming>
[C++] Возможно ли взять в try конструктор глобальной переменной? 05.02.02 07:55  
Автор: Biasha <Бяша> Статус: Member
Отредактировано 05.02.02 08:02  Количество правок: 1
<"чистая" ссылка>
Есть класс, и у него в конструкторе возможен throw. И всё было отлично, пока не пришлось сделать его глобальным.
Вот было бы неплохо как-то обработать этот throw, а то идея структурной обработки погибнет.
[C++] Пока нет, но 05.02.02 09:24  
Автор: leo <Леонид Юрьев> Статус: Elderman
<"чистая" ссылка>
> Есть класс, и у него в конструкторе возможен throw. И всё
> было отлично, пока не пришлось сделать его глобальным.
> Вот было бы неплохо как-то обработать этот throw, а то идея
> структурной обработки погибнет.

Насколько я знаю, пока нет компилятором которые это могут. У Страустурпа об этом упоминается как о try-блоке вне какой-либо функции. Но все равно это толком ничего не дает, глобальный экземпляр класса нельзя еще раз попробовать создать. Выход один - вместо глобальной переменной используй глобальный указатель, и в main делай для него new.

Удачи!
[C++] Ну и ладно... 07.02.02 02:59  
Автор: Biasha <Бяша> Статус: Member
<"чистая" ссылка>
> Насколько я знаю, пока нет компилятором которые это могут.
> У Страустурпа об этом упоминается как о try-блоке вне
Если уж он пишет, чего ж нет таких компиляторов?

> какой-либо функции. Но все равно это толком ничего не дает,
> глобальный экземпляр класса нельзя еще раз попробовать
Да мне хоть бы обработку всех ошибок запихнуть в одно место, а то плодиться начинает.

> создать. Выход один - вместо глобальной переменной
> используй глобальный указатель, и в main делай для него
> new.
Да нет, тут именно переменную-класс нужно.

>
> Удачи!
В общем, я ещё не очень много над этим думал. Конечно, можно сделать иначе – так и сделаю. Просто пришла в голову мысль: почему бы не писать try за пределами main.
[C++] Ну и ладно... 08.02.02 22:58  
Автор: Sandy <Alexander Stepanov> Статус: Elderman
<"чистая" ссылка>
> Просто пришла в голову
> мысль: почему бы не писать try за пределами main.

Мне тоже мысль об этом сразу в голову пришла. Насколько я знаю, компилятор вызов main "заворачивает" в try-блок, который обрабатывает исключение, если оно не было обработано в программе. Может тебе исследовать генерируемый код и попытаться сделать руками нечто аналогичное.
[C++] Ну и ладно... 11.02.02 10:12  
Автор: XR <eXtremal Research> Статус: The Elderman
<"чистая" ссылка>
> > Просто пришла в голову
> > мысль: почему бы не писать try за пределами main.

Вообще то за пределами main() try/catch прекрасно работает
(если помещен в конструктор/деструктор глобального объекта)
вот только в данном случае с глобальной обработкой исключений это поможет слабо
Копай дизайн, фантазируй ....

>
> Мне тоже мысль об этом сразу в голову пришла. Насколько я
> знаю, компилятор вызов main "заворачивает" в try-блок,
> который обрабатывает исключение, если оно не было
> обработано в программе. Может тебе исследовать генерируемый
> код и попытаться сделать руками нечто аналогичное.

попытаться то можно - только все это сильно компиляторо-системозависимо...
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach