C6310
Aktualisiert: November 2007
C6310
Warnung C6310: Eine unzulässige Konstante im Ausnahmefilter kann unerwartetes Verhalten verursachen.
Diese Meldung gibt an, dass im Filterausdruck eines strukturierten Ausnahmehandlers eine unzulässige Konstante gefunden wurde. Folgende Konstanten sind zur Verwendung im Filterausdruck eines strukturierten Ausnahmehandlers definiert:
EXCEPTION_CONTINUE_EXECUTION
EXCEPTION_CONTINUE_SEARCH
EXCEPTION_EXECUTE_HANDLER
Diese Werte werden in der Laufzeitheaderdatei excpt.h definiert.
Die Verwendung einer Konstante, die nicht in dieser Liste aufgeführt ist, kann unerwartetes Verhalten verursachen.
Beispiel
Der folgende Code generiert diese Warnung:
#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");
}
}
So korrigieren Sie die Warnung unter Verwendung des folgenden Codes
#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");
}
}