利用异常处理句柄处理某个特定的异常 例如,在例1中可以针对EConvertError异常做出如下的处理:
例 Procedure TForm1.Button1Click(Sender :TObject)
Var
Num: Integer;
Begin
Try
Num:=StrToInt(Edit1.Text);
Edit2.Text:=IntToStr(Num*Num);
Except
On EConvertError Do
ShowMessage(Edit1.Text+'无法转成整数!');
End;
End; 该例中,点击Button1后,程序试图将编辑框Edit1中的内容转换为整型数,整数平方之后再转换成字符串类型数据,在编辑框Edit2中显示。如果Edit1.Text是7.89,传递给StrToInt将产生EConvertError异常,因为7.89不是一个有效整数。异常产生后,将显示一条警告信息,并退出该过程。以上文字是从网上一篇文章得来。正常情况下,当Edit1编辑框输入一个非整型数,传递给StrToInt将产生EConvertError异常,也就是说当程序执行到 Edit2.Text:=IntToStr(Num*Num);这一句的时候,则会产生异常,接着执行 On EConvertError Do
的语句,但我在执行这段代码的时候,为什么当执行到 Num:=StrToInt(Edit1.Text);
的时候,就会弹出提示框,Project Project1.exe raised eception class EConvertError whit message "7.89" is not a valid integer value'.
而不是执行程序中自定义的提示信息。请问问题出在什么地方?
例 Procedure TForm1.Button1Click(Sender :TObject)
Var
Num: Integer;
Begin
Try
Num:=StrToInt(Edit1.Text);
Edit2.Text:=IntToStr(Num*Num);
Except
On EConvertError Do
ShowMessage(Edit1.Text+'无法转成整数!');
End;
End; 该例中,点击Button1后,程序试图将编辑框Edit1中的内容转换为整型数,整数平方之后再转换成字符串类型数据,在编辑框Edit2中显示。如果Edit1.Text是7.89,传递给StrToInt将产生EConvertError异常,因为7.89不是一个有效整数。异常产生后,将显示一条警告信息,并退出该过程。以上文字是从网上一篇文章得来。正常情况下,当Edit1编辑框输入一个非整型数,传递给StrToInt将产生EConvertError异常,也就是说当程序执行到 Edit2.Text:=IntToStr(Num*Num);这一句的时候,则会产生异常,接着执行 On EConvertError Do
的语句,但我在执行这段代码的时候,为什么当执行到 Num:=StrToInt(Edit1.Text);
的时候,就会弹出提示框,Project Project1.exe raised eception class EConvertError whit message "7.89" is not a valid integer value'.
而不是执行程序中自定义的提示信息。请问问题出在什么地方?
解决方案 »
- 复制了控件后的问题.
- 请教如何判断Idhttp.get 下载状态~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 字符串转化为时间格式出错
- 求简易方法
- 新人帮忙看看几行代码,入门级的。
- 天热了,三条三角裤,有换了。散分。
- 本打算学DELPHI,结果。。。
- 那里有Delphi 5 开发人员指南 英文版下载
- 不知道这算不算delphi的技术问题,至少我是要用delphi实现啊!
- [[问题]]把 MS Visual Studio 和 BORLAND 的DELPHI、CB 装在一个系统下会有问题吗?谢谢。
- 这是简单的问题吗?我不会!
- 请问用delphi做报表打印图形时,怎么不支持gif文件格式?急急!
信誉分特低的家伙 哦
-------
上次问了,一个把滚动条变平的问题吧
--------
因为你在调试状态,编译器先拦截了异常;
你去直接打开编译好的exe文件,就可以看见正常的结果,你自己的ShowMessage就闪出来了