Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Non definito
__try/__except: uso della costante EXCEPTION_CONTINUE_SEARCH o di un'altra costante che restituisce zero nell'espressione di filtro eccezioni. Il codice nel blocco del gestore eccezioni non viene eseguito
Osservazioni:
Questo avviso indica che se si verifica un'eccezione nel blocco protetto di questo gestore di eccezioni strutturate, l'eccezione non verrà gestita perché la costante EXCECPTION_CONTINUE_SEARCH viene usata nell'espressione di filtro delle eccezioni.
Questo codice equivale al blocco protetto senza il blocco del gestore eccezioni perché il blocco del gestore non viene eseguito.
Nome dell'analisi del codice: EXCEPTIONCONTINUESEARCH
Esempio
Il codice seguente genera questo avviso:
#include <excpt.h>
#include <stdio.h>
void f (char *pch)
{
__try
{
// assignment might fail
*pch = 0;
}
__except (EXCEPTION_CONTINUE_SEARCH) // warning C6318
{
puts("Exception Occurred");
}
}
Per correggere questo avviso, usare il codice seguente:
#include <excpt.h>
#include <stdio.h>
#include <windows.h>
void f (char *pch)
{
__try
{
// assignment might fail
*pch = 0;
}
__except( (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION) ?
EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH )
{
puts("Access violation");
}
}