C4297 de aviso (nível 1) do compilador

'função' : função não deve para lançar uma exceção, mas

Uma função contém um nothrow declaração e um ou mais lança instruções. Para resolver C4297, não tente lançar exceções em funções que são declaradas com nothrow ou remover o nothrow especificação.

Para obter mais informações sobre especificações de exceção, consulte Exception Specifications. Além disso, consulte /EH (modelo de manipulação de exceção) para obter informações sobre como modificar o comportamento em de manipulação de exceçãotempo de compilação.

Esse aviso também é gerado para __declspec (dllexport) funções marcadas extern "C", mesmo se estiverem funções C++.

O exemplo a seguir gera C4297:

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