Advertencia C6318
Definido
__try
/__except
por error: uso de la constante EXCEPTION_CONTINUE_SEARCH u otra constante que se evalúa como cero en la expresión de filtro de excepciones. El código del bloque del controlador de excepciones no se ejecuta
Comentarios
Esta advertencia indica que si se produce una excepción en el bloque protegido de este controlador de excepciones estructurado, la excepción no se controlará porque la constante EXCECPTION_CONTINUE_SEARCH
se usa en la expresión de filtro de excepciones.
Este código es equivalente al bloque protegido sin el bloque de controlador de excepciones porque no se ejecuta el bloque de controlador.
Nombre del análisis de código: EXCEPTIONCONTINUESEARCH
Ejemplo
El código siguiente genera esta advertencia:
#include <excpt.h>
#include <stdio.h>
void f (char *pch)
{
__try
{
// assignment might fail
*pch = 0;
}
__except (EXCEPTION_CONTINUE_SEARCH) // warning C6318
{
puts("Exception Occurred");
}
}
Para corregir esta advertencia, utilice el código siguiente:
#include <excpt.h>
#include <stdio.h>
#include <windows.h>
void f (char *pch)
{
__try
{
// assignment might fail
*pch = 0;
}
__except( (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION) ?
EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH )
{
puts("Access violation");
}
}
Consulte también
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