информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Сетевые кракеры и правда о деле ЛевинаSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 На GitHub пугают ложными предупреждениями... 
 Атака на пользователей больших... 
 Notepad++ полгода раздавал зараженные... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Ну и ладно... 08.02.02 22:58  Число просмотров: 985
Автор: 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-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach