delphi 异常处理try except 怎么不提示异常呀。最代码如下
procedureTForm1.Button1Click(Sender:TObject);vara,b:real;begintrya:=0;b:=5/a;//edit1....
procedure TForm1.Button1Click(Sender: TObject);
var
a,b:real;
begin
try
a:=0;
b:=5/a;
// edit1.Text:=floattostr(b);
except
on EZeroDivide do showmessage('³ýÊýΪÁãµÄ´íÎó')
end;
end; 展开
var
a,b:real;
begin
try
a:=0;
b:=5/a;
// edit1.Text:=floattostr(b);
except
on EZeroDivide do showmessage('³ýÊýΪÁãµÄ´íÎó')
end;
end; 展开
1个回答
展开全部
你试试改为a,b:integer
如果这样可以的话,浮点数一般只是近似值,如果是real的a,a:=0赋值之后,a的值可能只是0.000000001,并不等于0的,所以无法引发错误,也正出于这个原因,比较浮点数的时候通常也不能直接用=这种来判断。
如果这样可以的话,浮点数一般只是近似值,如果是real的a,a:=0赋值之后,a的值可能只是0.000000001,并不等于0的,所以无法引发错误,也正出于这个原因,比较浮点数的时候通常也不能直接用=这种来判断。
追问
我试了也木有用呀!一点反应都没有procedure TForm1.Button1Click(Sender: TObject);
var
a,b:integer;
begin
try
a:=0;
b:=5 div a;
// edit1.Text:=floattostr(b);
except
on EZeroDivide do showmessage('nih')
追答
很久不用delphi了,试了一下,用你前一种代码
var
a,b:real;
begin
try
a:=0;
b:=5/a;
except
on EZeroDivide do showmessage('Zero')
end;
showmessage(floattostr(b));
end;
运行一下就会引发异常,不过在调式模式看不到那个,需要在外面运行程序编译出来的exe才行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询