Advertencia C6310
La constante no válida en el filtro de excepciones puede provocar un comportamiento inesperado
Comentarios
Este mensaje indica que se detectó una constante no válida en la expresión de filtro de un controlador de excepciones estructurado. Las constantes definidas para su uso en la expresión de filtro de un controlador de excepciones estructurado son:
EXCEPTION_CONTINUE_EXECUTION
EXCEPTION_CONTINUE_SEARCH
EXCEPTION_EXECUTE_HANDLER
Estos valores se definen en el archivo de encabezado en tiempo de ejecución excpt.h.
El uso de una constante que no está en la lista anterior puede provocar un comportamiento inesperado.
Nombre del análisis de código: ILLEGALEXCEPTEXPRCONST
Ejemplo
El código siguiente genera esta advertencia:
#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");
}
}
Para corregir esta advertencia, utilice el código siguiente:
#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");
}
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de