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