исключения в глобальных объектах
От: Аноним  
Дата: 08.10.04 07:33
Оценка:
Привет, пардон не нашел ответа в архивах.
Правильно ли я понимаю, что исключения, возникшие при инициализации глобальных объектов невозможно поймать?
Re: исключения в глобальных объектах
От: Glоbus Украина  
Дата: 08.10.04 07:45
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Привет, пардон не нашел ответа в архивах.

А>Правильно ли я понимаю, что исключения, возникшие при инициализации глобальных объектов невозможно поймать?

если констуктор наружу выкидывает исключение то да, нельзя
Удачи тебе, браток!
Re[2]: исключения в глобальных объектах
От: Аноним  
Дата: 08.10.04 07:54
Оценка:
Здравствуйте, Glоbus, Вы писали:

G>Здравствуйте, Аноним, Вы писали:


А>>Привет, пардон не нашел ответа в архивах.

А>>Правильно ли я понимаю, что исключения, возникшие при инициализации глобальных объектов невозможно поймать?

G>если констуктор наружу выкидывает исключение то да, нельзя


оч... обидно. а какие методы борьбы кроме синглтона?
Re[3]: исключения в глобальных объектах
От: jazzer Россия Skype: enerjazzer
Дата: 08.10.04 08:56
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Glоbus, Вы писали:


G>>Здравствуйте, Аноним, Вы писали:


А>>>Привет, пардон не нашел ответа в архивах.

А>>>Правильно ли я понимаю, что исключения, возникшие при инициализации глобальных объектов невозможно поймать?

G>>если констуктор наружу выкидывает исключение то да, нельзя


А>оч... обидно. а какие методы борьбы кроме синглтона?


set_terminate, ибо именно terminate позовется в случае неотловленного исключения
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: исключения в глобальных объектах
От: Кодт Россия  
Дата: 08.10.04 09:15
Оценка:
Здравствуйте, Аноним, Вы писали:

А>оч... обидно. а какие методы борьбы кроме синглтона?


Сделать конструктор копирования свободным от исключений. Вынести конструирование в отдельную функцию.
class TheObject
{
public:
  TheObject(const TheObject& src) throw() { ..... }

  TheObject(ctor args) { ..... }

  static TheObject make(ctor args)
  {
    try { TheObject src(ctor args); return src; }
    catch(...) { ?????; return ?????; }
  }
};

TheObject global = TheObject::make(ctor args);
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.