Avertissement C6310
Une constante illégale dans le filtre d’exceptions peut entraîner un comportement inattendu
Notes
Ce message indique qu’une constante illégale a été détectée dans l’expression de filtre d’un gestionnaire d’exceptions structurées. Les constantes définies pour être utilisées dans l’expression de filtre d’un gestionnaire d’exceptions structurées sont les suivantes :
EXCEPTION_CONTINUE_EXECUTION
EXCEPTION_CONTINUE_SEARCH
EXCEPTION_EXECUTE_HANDLER
Ces valeurs sont définies dans le fichier d’en-tête d’exécution excpt.h.
L’utilisation d’une constante qui n’est pas dans la liste précédente peut entraîner un comportement inattendu.
Nom de l’analyse du code : ILLEGALEXCEPTEXPRCONST
Exemple
Le code suivant génère cet avertissement :
#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");
}
}
Pour corriger cet avertissement, utilisez le code suivant :
#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");
}
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour