Avviso del compilatore (livello 1) C4297

'funzione': la funzione genera un'eccezione benché ciò non fosse previsto

Una funzione contiene una dichiarazione nothrow e una o più istruzioni throw.Per evitare la visualizzazione dell'avviso C4297, non tentare di generare eccezioni nelle funzioni dichiarate con nothrow o di rimuovere la specifica nothrow.

Per ulteriori informazioni sulle specifiche di eccezione, vedere Specifiche di eccezione.Inoltre, per informazioni sulla modifica del comportamento di gestione delle eccezioni in fase di compilazione, vedere /EH (Modello di gestione delle eccezioni).

Questo avviso viene anche generato per le funzioni __declspec(dllexport) contrassegnate come extern "C", anche se sono funzioni C++.

Nell'esempio seguente viene generato l'errore C4297:

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