tapplicationevents控件的onexception事件是否可以截获任何异常?

zghnaywangzy 2007-09-11 03:01:38
各位老师好:
用applicationevents控件的onexception事件是否可以截获任何异常?截获异常后,发生异常语句后的敲语句是否就不能再继续执行了?
...全文
158 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
luxuewei5214 2007-09-13
  • 打赏
  • 举报
回复
玩了两三年delphi,都没这么研究过,惭愧啊
eminemlhp 2007-09-13
  • 打赏
  • 举报
回复
用Application的onexception事件可以截获Delphi程序的几乎所有异常,这是一个比较狠的方法,可以让你程序永远不会弹出异常框。如下是TApplication.HandleException的源码:
if ExceptObject is Exception then
begin
if not (ExceptObject is EAbort) then
if Assigned(FOnException) then
FOnException(Sender, Exception(ExceptObject))
else
ShowException(Exception(ExceptObject));
end else
SysUtils.ShowException(ExceptObject, ExceptAddr);
从上面可以看出只要onexception不为nil,则Delphi就不会再显示这个异常了。
而且我刚才试了一下,异常后,之后的代码都不会再被执行到。
但是还有一个有趣的发现,如果你在onexception事件处理的代码中引发了异常,猜猜会怎么着?应用程序弹出未知错误框,然后会直接关闭,呵呵,所以小心了!

5,388

社区成员

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

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