共用方式為


編譯器警告 (層級 1) C4297

'function' : 函式預設並不會擲回例外狀況,但卻擲回例外狀況

函式含有 Nothrow 宣告和一個或更多的 Throw 陳述式。 若要解決 C4297,不要試圖在以 nothrow 宣告的函式擲出例外狀況,或將 nothrow 規格移除。

如需例外狀況規格的詳細資訊,請參閱例外狀況規格。 如需如何在編譯時期修改例外狀況處理行為的詳細資訊,請參閱 /EH (例外狀況處理模型)

標示為 extern "C" 的 __declspec(dllexport) 函式也會產生這個警告,即使它們是 C++ 函式亦然。

下列範例會產生 C4297:

// C4297.cpp
// compile with: /W1 /LD
void __declspec(nothrow) f1()   // declared nothrow
// try the following line instead
// void f1()
{
   throw 1;   // C4297
}