Advertencia del compilador (nivel 1) C4297
'función' : se suponía que la función no producía una excepción, pero lo hace
Una función contiene una declaración nothrow y una o varias instrucciones throw. Para resolver la advertencia C4297, no intente producir excepciones en funciones declaradas con nothrow, o quitar la especificación nothrow.
Para obtener más información sobre especificaciones de excepciones, vea Especificaciones de excepción. Vea también /EH (Modelo de control de excepciones) para obtener información sobre cómo modificar en tiempo de compilación el comportamiento del control de excepciones.
Esta advertencia también se genera para las funciones __declspec(dllexport) marcadas como extern "C", incluso aunque sean funciones de C++.
El código siguiente genera el error C4297:
// C4297.cpp
// compile with: /W1 /LD
void __declspec(nothrow) f1() // declared nothrow
// try the following line instead
// void f1()
{
throw 1; // C4297
}