set_unexpected (<exception>)
当遇到意外的异常时,建立新的unexpected_handler
unexpected_handler
set_unexpected(
unexpected_handler fnew
) throw( );
参数
- fnew
当遇到以外时函数被调用
返回值
前unexpected_handler的地址。
备注
fnew不能为空指针。
当函数抛出一个不在抛出列表的异常时,The 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.
要求
标头: <exception >
命名空间: std