我的程序中使用了全局出错处理,使用了全局变量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;
你用Application自定义了出错显示后,!!每次异常!!时都会显示你自定义的异常错误。
应该这样做,定义自己的异常对象,从Exception继承。
MyError=class(Exception)
....
try
..
exception
raise MyError.Create('Wrong'); // 显示出错信息
end;