共用方式為


set_unexpected (<exception>)

建立新的 unexpected_handler ,當未預期的例外狀況發生。

unexpected_handler 
   set_unexpected( 
      unexpected_handler fnew 
   ) throw( );

參數

  • fnew
    當發生未預期的例外狀況發生,要呼叫的函式。

傳回值

之前的位址 unexpected_handler

備註

fnew 不得為 null 指標。

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

請參閱

參考

<exception>

get_unexpected