请问一个关于抛出exception的问题

olivehb 2004-05-13 04:23:26
请问怎样才能只改动一个地方就可以
防止整个应用程序在运行时出现系统错误的信息。

是不是在主窗体中加一个ApplicationEvents控件?
该怎么用?需要实现什么函数或事件?
...全文
63 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
leobearcn 2004-08-28
  • 打赏
  • 举报
回复
上面哪个是总的异常捕捉。 其他的必须的异常捕捉不会受到这个的影响
leobearcn 2004-08-28
  • 打赏
  • 举报
回复
Application.OnException := FrmMain.AppException;

procedure TFrmMain.AppException(Sender: TObject; E: Exception);
begin
ErrInf:=E.Message;
Application.MessageBox(Pchar('请记录下面的出错信息,并与开发人员联系!'+#13+
ErrInf), '程序出错或系统错误!', MB_OKCANCEL+MB_ICONEXCLAMATION);
end;
这样就可以捕捉你那些潜在的异常了。
mydelphiworld 2004-08-28
  • 打赏
  • 举报
回复





^-^
Heyongfeng 2004-05-14
  • 打赏
  • 举报
回复
还是应该在不同的地方捕获。
  • 打赏
  • 举报
回复
不可能,因为在VCL中已经有默认的处理exception的,所以还是要显示的!!
VCL包括一个大的TRY EXCEPT,看源程序就可以知道!!
楚人无衣 2004-05-13
  • 打赏
  • 举报
回复
如果程序错误不管怎么做运行时它都会弹出错误信息的,如你所说程序岂永远都没有bug?
或者,你想要的是下面一些效果:
procedure TForm1.FormShow(Sender: TObject);
var
i: Integer;
begin
i := 0;
try
ShowMessage(FloatToStr(10/i));
except
{此处什么都不要写}
end;
end;
qingenerp 2004-05-13
  • 打赏
  • 举报
回复
这样不行,即便可以也是不可取的
因为每个错误是不一样的,怎能保一样的错误呢

5,388

社区成员

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

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