读书人

关于_try _except中的GetExceptionCod

发布时间: 2012-07-25 09:43:05 作者: rapoo

关于__try __except中的GetExceptionCode和GetExceptionInformation宏?
网上看到这两个宏只能在紧跟__except后的括号中使用,否则结果不能保证。但我发现GetExceptionCode可以在__except后的语句块使用,并且得到了ExceptionCode。请问这样用有什么副作用吗?

C/C++ code
    int        *error = 0;    ULONG    errcode = 0;    __try{        *error = 0;    }    __except( EXCEPTION_EXECUTE_HANDLER/*AnalysisException(GetExceptionInformation())*/ ){        //===============================================================        //= = Safe place.        errcode = GetExceptionCode();                    switch ( errcode ){        case EXCEPTION_ACCESS_VIOLATION:            MessageBox( NULL, "非法访问!", "Hint", MB_OK );            break;        case EXCEPTION_INT_DIVIDE_BY_ZERO:            MessageBox( NULL, "除0错误!", "Hint", MB_OK );            break;        case EXCEPTION_SINGLE_STEP:            MessageBox( NULL, "单步中断!", "Hint", MB_OK );            break;        case EXCEPTION_BREAKPOINT:            MessageBox( NULL, "断点异常!", "Hint", MB_OK );            break;        default:            MessageBox( NULL, "程序异常!", "Hint", MB_OK );            break;        }    }




[解决办法]
测试一下吧。我认为没问题

读书人网 >VC/MFC

热点推荐