Freigeben über


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");
  }
}