Поделиться через


set_unexpected (<exception>)

Задает новое unexpected_handler как при обнаруживается непредвиденное исключение.

unexpected_handler 
   set_unexpected( 
      unexpected_handler fnew 
   ) throw( );

Параметры

  • fnew
    Функция, предназначенная для вызова будет обнаруживается непредвиденное исключение.

Возвращаемое значение

Адрес unexpected_handler предыдущего.

Заметки

fnew не должно быть пустым указателем.

Стандарт C++ требуется, чтобы метод unexpected вызывается, когда функция создает исключение, которого нет в списке выполняются. Текущая реализация не поддерживает это. В следующем примере вызывается unexpected напрямую, который затем вызывает метод unexpected_handler.

Пример

// exception_set_unexpected.cpp
// compile with: /EHsc
#include <exception>
#include <iostream>

using namespace std;

void uefunction()
{
    cout << "My unhandled exception function called." << endl;
    terminate(); // this is what unexpected() calls by default
}

int main()
{
    unexpected_handler oldHandler = set_unexpected(uefunction);

    unexpected(); // library function to force calling the 
                  // current unexpected handler
}

Output

My unhandled exception function called.

Требования

исключение <Заголовок: >

Пространство имен: std

См. также

Ссылки

<exception>

get_unexpected