关于全局出错处理
我的程序中使用了全局出错处理,使用了全局变量aerror判断是否进行全局出错处理还是使用程序中的try...except语句,在try...except语句前置aerror值为2,处理后置 1
procedure TFormmenu.AppOnException(Sender: TObject; E: Exception);
begin
if datam.aerror<>2 then
begin
application.MessageBox(pchar('不可预料的错误,程序即将关闭,请与管理员联系'+#13+'出错代码:'+inttostr(GetLastError)+#13+'出错类型:'+SysErrorMessage(GetLastError)),'操作提示',mb_ok+mb_iconerror)
Application.Terminate;
end
else begin
application.ShowException(E);
end;
end;
如果出错一次,全局处理可以得到正常的出错代码跟出错类型,但是如果程序中其他地方处理了try...except语句后就可以截获全局出错,但是返回的出错代码始终为0,提示"程序正常结束",不知为何,是否try...except种需要进行某项操作,希望各位帮帮小弟
zhou0523@netease.com