如何屏弊这个信息框?(50分)

  • 主题发起人 主题发起人 chenke
  • 开始时间 开始时间
C

chenke

Unregistered / Unconfirmed
GUEST, unregistred user!
如以下代码
try
x:=5 div StrToInt(Edit1.Text);
except
begin
x:=0;
ShowMessage('div zero!');
end
end;
当Edit1.Text=0时,在ShowMessage('div zero!')前总有一个异常错误提示框,如何屏弊?
 
我向你一定是在调试状态下,在运行状态下
就不会出这个问题了。
如果在调试状态下也不想看到这个,
可以把Break On Exception的选项去掉。
 
忘记说了,Delphi4现在是是在
Tools-debuggeroptions-languageexceptions下的
Stop on Delphi exceptions
D3好像不是叫这个。 :)
 
如果你的Edit1.text=''的话, 运行时也会看到两个信息框, 一个是你的, 另一个是
delphi提示strtoint错误的(Delphi 3.0).
这点很是麻烦, 因此我现在不直接用strtoint, 而自己编了个numeric函数, 再
调用strtoint之前先判断是否数字.
 
Another_eYes:
Delphi有StrToIntDef,看看它的用法就知道
正好可以用于ChenKe的这个问题,不必担心触发Exception了。
 
为什么不用一个if语句先判断一下Edit1.text的值是否合法而不用except呢?
 
如以下代码
try
x:=5 div StrToInt(Edit1.Text);
except
begin
x:=0;
raise Exception.Create('Div Zero');
//ShowMessage('div zero!');
end
end;
当Edit1.Text=0时,在ShowMessage('div zero!')前总有一个异常错误提示框,如何屏弊?

 
唐兄:把问题copy下来是什么意思? :)
 
如以下代码
try
x:=5 div StrToInt(Edit1.Text);
except
begin

x:=0;
raise Exception.Create('Div Zero');
//ShowMessage('div zero!');
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
改过一句
end
end;
当Edit1.Text=0时,在ShowMessage('div zero!')前总有一个异常错误提示框,如何屏弊?
 
原来如此,不好意思 :)
可问题还是一样,关键还是调试状态和运行状态的区别,
或者关掉调试选项中的Break On Exception。
 
最起码可以让用户明白出了什么样的错误
且chenke的问题就是想用自己给粗的错误报告
屏蔽掉系统给出的错误 :)
 
一写完这个问题我就后悔了,因为过了一伙我就发现是调试和运行态的区别,
不过还是谢谢各位的热心指导。大家每人分一点吧,不成敬意。$(
 
一写完这个问题我就后悔了,因为过了一伙我就发现是调试和运行态的区别,
不过还是谢谢各位的热心指导。大家每人分一点吧,不成敬意。$(
 

Similar threads

I
回复
0
查看
2K
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
687
import
I
后退
顶部