Udostępnij za pośrednictwem


C4297 (poziom 1) ostrzeżenia kompilatora

"Funkcja": funkcja zakłada, że nie, aby zgłosić wyjątek, ale nie

Zawiera funkcję nothrow deklaracji i jeden lub więcej throw instrukcji.Aby rozwiązać C4297, nie należy próbować generują wyjątki w funkcje, które są zadeklarowane z nothrow lub usunąć nothrow specyfikacji.

Aby uzyskać więcej informacji dotyczących specyfikacji wyjątek, zobacz Specyfikacje wyjątek.Zobacz też /Eh (Model obsługi wyjątków) Aby uzyskać informacje dotyczące sposobu modyfikowania zachowania obsługi w czasie kompilacji wyjątków.

Ostrzeżenie to również jest generowany dla __declspec (dllexport) funkcje oznaczone extern "C", nawet jeśli są one funkcje C++.

Poniższy przykład generuje C4297:

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