नोट
इस पृष्ठ तक पहुंच के लिए प्राधिकरण की आवश्यकता होती है। आप साइन इन करने या निर्देशिकाएँ बदलने का प्रयास कर सकते हैं।
इस पृष्ठ तक पहुंच के लिए प्राधिकरण की आवश्यकता होती है। आप निर्देशिकाएँ बदलने का प्रयास कर सकते हैं।
'identifier' : bad context for intrinsic function
Remarks
Structured exception-handling intrinsics are invalid in certain contexts:
_exception_code()outside an exception filter or__exceptblock_exception_info()outside an exception filter_abnormal_termination()outside a__finallyblock
To resolve the error, be sure that the exception-handling intrinsics are placed in the appropriate context.
Example
The following example generates C2707.
// C2707.cpp
#include <windows.h>
#include <stdio.h>
LONG MyFilter(LONG excode)
{
return (excode == EXCEPTION_ACCESS_VIOLATION ?
EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH); // OK
}
LONG func(void)
{
int x, y;
return(GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ? // C2707
EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH);
__try
{
y = 0;
x = 4 / y;
return 0;
}
__except(MyFilter(GetExceptionCode()))
{
return(GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ? // ok
EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH);
}
}
int main()
{
__try
{
func();
} __except(EXCEPTION_EXECUTE_HANDLER)
{
printf_s("Caught exception\n");
}
}