как перехватить все исключения
От: Аноним  
Дата: 24.11.06 13:35
Оценка:
Создаю стандартное диалоговое приложение. В файле MyDialog.cpp:

CMyDialogDlg dlg;

try
{
dlg.DoModal ();
...
}
catch (...)
{
MessageBox ("Exception handled");
}

При таком раскладе у меня будут перехватыватся все С++ исключения. А если вдруг возникнет исключение другое? типа виндовое какое нибудь.

Как мне сделать так, чтобы при возникновении ЛЮБОГО искключения при работе приложения переход программы состоялся в определенную точку
Re: как перехватить все исключения
От: np9mi7 Россия  
Дата: 24.11.06 13:58
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Как мне сделать так, чтобы при возникновении ЛЮБОГО искключения при работе приложения переход программы состоялся в определенную точку


Поиск рулит http://rsdn.ru/search/?q=SEH&amp;mode=rank&amp;group=N;
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
"В любое мгновение принятия решения, лучшее, что вы можете сделать, это принять правильное решение; следующим лучшим вариантом будет принять неправильное решение, худший вариант – не принимать решения совсем" (c) Теодор Рузвельт.
Re: как перехватить все исключения
От: nen777w  
Дата: 28.11.06 07:43
Оценка:
А>Как мне сделать так, чтобы при возникновении ЛЮБОГО искключения при работе приложения переход программы состоялся в определенную точку

set_unexpected

учти только что твая ф-ция обработчик не может вернуть нормально управление по return но ты можешь сгенерировать исключени оттуда и уже где нужно обработать.
Re[2]: как перехватить все исключения
От: Аноним  
Дата: 28.11.06 09:04
Оценка:
Здравствуйте, nen777w, Вы писали:

А>>Как мне сделать так, чтобы при возникновении ЛЮБОГО искключения при работе приложения переход программы состоялся в определенную точку


N>set_unexpected


N>учти только что твая ф-ция обработчик не может вернуть нормально управление по return но ты можешь сгенерировать исключени оттуда и уже где нужно обработать.


а куда поставить вызов этой функции?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.