TA的每日心情 | 慵懒 2015-1-8 08:46 |
---|
签到天数: 2 天 连续签到: 1 天 [LV.1]测试小兵
|
最近玩魔兽,蛮喜欢他的异常系统的,偶最怕windows自带的异常,看到红叉叉就头疼.
核心思想无非就是
初始化的时候
OldException = SetUnhandledExceptionFilter(你自己定义的错误函数);
用玩了就
SetUnhandledExceptionFilter(OldException);
无非就是用自己弹出的对话框替代系统默认而已
自己定义一个
LONG ExceptionHandler(HINSTANCE hInstance, EXCEPTION_POINTERS* ExceptionPointer)
使用的时候
__try
{
throw;
}
__except(ExceptionHandler(hInstance, GetExceptionInformation())
{
exit(0);
}
自己在ExceptionHandler中DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_EXCEPTDIALOG), NULL, (DLGPROC)ExceptionDialog_DialogProc, (LPARAM)szMessage);
IDD_EXCEPTDIALOG是在资源中定义的对话框的资源ID,ExceptionDialog_DialogProc是对话框的处理MsgProc,szMessage是传递给对话框的函数,我这里传递的是文字信息.
详细实现 |
|