Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT



       Присоединяйтесь драконы зовут Вас перекладач онлайн Online. | Как открыть ИП, чего не замечают обычные туристы хотя стоило бы погода у ужгороді. |   

Тип исключения


Если вызывается исключение, для которого отсутствует обработчик и не определен универсальный обработчик исключений всех типов, тогда вызывается функция terminate из стандартной библиотеки. Она вызывает функцию abort, завершающую работу программы.

Вы можете определить собственную функцию, которая будет вызываться перед аварийным завершением программы. Для этого вы должны вызвать функцию set_terminate, указав ей в качестве параметра имя вашей функции. Если вы воспользуетесь функцией set_terminate несколько раз, то будет вызываться только функция, указанная в последнем вызове set_terminate.

#include <eh.h>

#include <iostream.h>

#include <process.h>

void FastExit(void);

int main()

{

      // Устанавливаем функцию term_func

      set_terminate(FastExit);

      try

      {

             // ...

             // Вызываем исключение типа int

             throw (int) 323;

             // ...

      }

     

      // Определяем обработчик типа char. Обработчик исключений

      // типа int и универсальный обработчик не определены

      catch(char)

      {

             cout << "Exception " << endl;

      }

      return 0;

}

// Определение функции FastExit

void FastExit()

{

      cout << "Exception handler not found" << endl;

      exit(-1);

}

Среда Visual C++ версии 4.0 позволяет запретить или разрешить обработку исключений языка Си++. Для управления исключениями выберите из меню Build строку Settings. На экране появится диалоговая панель Project Settings, в которой определяются все режимы работы. Выберите страницу C/C++. Затем из списка Category выберите строку C++ Language. Чтобы включить обработку исключительных ситуаций установите переключатель Enable exception handling.




Содержание  Назад  Вперед