[SOS]:为何异常不能被捕获?

h770 2004-05-08 01:26:15
procedure TForm1.Button2Click(Sender: TObject);
var a:real;
begin
i:=i-1;
try

a:=10/i;
except
on EDivByZero do
exit;
end;
showmessage(floattostr(a));
end;


谢谢大家
...全文
26 9 点赞 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qizhanfeng 2004-05-08
try

...
except
on E: EDivByZero do
showmessage(E.Message)
end;
  • 打赏
  • 举报
回复
huluobowangmeng 2004-05-08
学习!加帮顶!!
  • 打赏
  • 举报
回复
ylyn 2004-05-08
Tools->DebugOptions->LanguageExceptions
中有个Stop On Delphi Exceptions的勾去掉
  • 打赏
  • 举报
回复
楚人无衣 2004-05-08
Tools->Debug Options...->Language Exceptions勾去Stop on Delphi Exceptions
  • 打赏
  • 举报
回复
wanwangzhiwang 2004-05-08
on EZeroDivide do
exit;
  • 打赏
  • 举报
回复
ckp 2004-05-08
同意juliens(星星球)
  • 打赏
  • 举报
回复
juliens 2004-05-08
上面老兄说的问题是一个方面,另外我觉得on EDivByZero do这一句也没有多大必要,这样的话你还可以捕捉其他异常,比如说内存溢出等!
  • 打赏
  • 举报
回复
wanwangzhiwang 2004-05-08
浮点用EZeroDivide
整型用EDivByZero

自己看帮助去吧
  • 打赏
  • 举报
回复
johnzhangbit 2004-05-08
i的定义在哪里,定义了吗?
还有你确定i一定是0吗?
  • 打赏
  • 举报
回复
相关推荐
发帖
Delphi
加入

4969

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2004-05-08 01:26
社区公告
暂无公告