有没有通用的异常处理类?

babyboy 2005-07-27 06:55:41
想做一个程序中出现异常时,能够捕获的异常出现的位置,发生原因的异常类。
问问兄弟们有没有现成的?
...全文
147 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
GARNETT2183 2006-04-10
  • 打赏
  • 举报
回复
http://www.eurekalog.com/index.php
去这里看看。。。
jwt1982 2006-04-10
  • 打赏
  • 举报
回复
请问babyboy(榆木疙瘩):
你找到这个通用的类了没有?

我也想要一个,毕竟每个代码里都使用try方式会很累人

能不能抓取错误,一个窗体、程序由一个统一的地方来进行各种错误处理?
babyboy 2005-08-05
  • 打赏
  • 举报
回复
是我的问题不明确,对不起大家了.
我的意思是要做一个全局的异常处理,就像截获Application.OnException一样,但是Application.OnException只能截获程序未处理的异常,我希望是不管什么异常,我都能先收到,
然后把异常发生的位置,比如源代码的行号,引发异常的原因等记录下来,做个日志.
最近研究了一下,好像能做的就是通过汇编访问FS[0]寄存器,这里保存有当前异常,通过这个可以访问到
异常链表,可是这好像只能是windos异常,delphi自己的异常类捉不到,而且无法获得异常出现的源码行号,只能得到汇编代码的行和地址.
无名2018 2005-07-28
  • 打赏
  • 举报
回复
//给你个例子吧
function ComputeSomething;
begin
try
...
except
on Err1: EDivByZero do
ShowMessage('零不能做除数');
on Err2: EMathError do
ShowMessage(Err2.ErrorInfo);
on E: Exception do
ShowMessage(E.Message);
else
raise; //重新引发这个异常
end;
end;
无名2018 2005-07-28
  • 打赏
  • 举报
回复
try
//
except
on E: Exception do
begin
Application.ShowMessage(E.Message);
end;
end;
sxtdxvb 2005-07-28
  • 打赏
  • 举报
回复
try
//这里写如要查异常的代码
except on E:Exception do
begin
Application.Showmessage(pchar(E.Message),mb_ok+mb_iconeror);
end;
end;

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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