Avviso C6310
Una costante non valida nel filtro eccezioni può causare un comportamento imprevisto
Osservazioni:
Questo messaggio indica che è stata rilevata una costante non valida nell'espressione di filtro di un gestore di eccezioni strutturate. Le costanti definite per l'uso nell'espressione di filtro di un gestore di eccezioni strutturate sono:
EXCEPTION_CONTINUE_EXECUTION
EXCEPTION_CONTINUE_SEARCH
EXCEPTION_EXECUTE_HANDLER
Questi valori vengono definiti nel file di intestazione di runtime excpt.h.
L'uso di una costante non presente nell'elenco precedente può causare un comportamento imprevisto.
Nome dell'analisi del codice: ILLEGALEXCEPTEXPRCONST
Esempio
Il codice seguente genera questo avviso:
#include <excpt.h>
#include <stdio.h>
#include <windows.h>
BOOL LimitExceeded();
void fd( )
{
__try
{
if (LimitExceeded())
{
RaiseException(EXCEPTION_ACCESS_VIOLATION,0,0,0);
}
else
{
// code
}
}
__except (EXCEPTION_ACCESS_VIOLATION)
{
puts("Exception Occurred");
}
}
Per correggere questo avviso, usare il codice seguente:
#include <excpt.h>
#include <stdio.h>
#include <windows.h>
BOOL LimitExceeded();
void fd( )
{
__try
{
if (LimitExceeded())
{
RaiseException(EXCEPTION_ACCESS_VIOLATION,0,0,0);
}
else
{
// code
}
}
__except (GetExceptionCode()==EXCEPTION_ACCESS_VIOLATION ?
EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
{
puts("Exception Occurred");
}
}
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per