关于全局出错处理

zhou0523 2000-06-18 06:42:00
我的程序中使用了全局出错处理,使用了全局变量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
...全文
140 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kxy 2000-06-19
  • 打赏
  • 举报
回复
try
...
except
raise;//再次触发错误,由你的AppOnException来处理.
end;
zhou0523 2000-06-19
  • 打赏
  • 举报
回复
哪位帮帮我
zxh1972 2000-06-19
  • 打赏
  • 举报
回复
你用Application自定义了出错显示后,!!每次异常!!时都会显示你自定义的异常错误。
应该这样做,定义自己的异常对象,从Exception继承。

MyError=class(Exception)
....

try
..
exception
raise MyError.Create('Wrong'); // 显示出错信息
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧