delphi 中判断异常处理的语句是什么?
一、复合语句(或称语句结构、语句框架、语句模式等)
1、粗放式
try
finally
end
和
try
except
end
2、精细式
try
except
on 异常1: 当异常1发生时的处置方法
on 异常2: 当异常2发生时的处置方法
......
on 异常n: 当异常n发生时的处置方法
end
二、简单语句
raise 主动抛出异常,供外层异常处理机制处理;如本程序没有自己处理的机制,则交由操作系统处理,或者说最外层的处理机制是操作系统,处理方式一般就是弹出对话框。
三、嵌套方式举例
try
......
try
......
except
on Ex1: DoEx1;
on Ex2: DoEx2;
......
on Exn: raise; // 自己不处理,由外层处置
end
finally
......
end
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Tfrmmain = class(TForm)
edt1: TEdit;
lbl1: TLabel;
lbl2: TLabel;
btn1: TButton;
btn2: TButton;
procedure btn2Click(Sender: TObject);
function isint(int:string):Boolean;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmmain: Tfrmmain;
implementation
{$R *.dfm}
function tfrmmain.isint(int:string):Boolean; //编写isint判断整数的函数,是整数返回真
var
i:Integer;
c:Char ;
begin
Result:= True;
for i:= 1 to Length(int) do //检查每一个数字(实际传进来的是字符串要进一步判断)
begin
c := int[i]; //转化为字符以便于一个个判断
if not(c in ['1'..'9']) then //是否在数字0..9的范围
begin
if not((i = 1)and (c in ['-','+'])) then //第一位是+-号则通过,不是返回假,考录正负整数
begin
Result := False;
Break;
end;
end;
end;
end;
procedure Tfrmmain.btn2Click(Sender: TObject);
begin
edt1.Clear;
end;
procedure tfrmmain.btn1Click(Sender: TObject);
begin
if isint(Trim(edt1.Text)) then
ShowMessage('输入是整数')
else
ShowMessage('输入的不是整数');
end;
end.
在简单点的,
还有就是把isnil函数改成用异常机制判断;在delphi中运行会出错,但生成以后不会出问题;
function tform1.isint(int:string):Boolean;
begin
Result := True;
try
StrToInt(Trim(edt1.Text));
except
Result :=False;
Exit;
end
end;
我都说啦!第二个再在delphi里测试肯定报错。报错就不影响软件生成后的正常运行。
第一个不会。
{......}
except
on E: Exception do
begin
showmessage(e.message);
end;
end;
我坚决反对随便使用异常,一些小型软件,可能出现的问题,程序员应该予以预先拦截,给出如何进行正确处理的提示。以免出现:错误代码20243之类让用户摸头不知脑的信息。
try
except
end;
try
finally
end;
一般用try语句来捕捉异常。具体使用可以搜下。网上很多
指标体系的层次分析法结果
根据层次分析法建立的指标体系,用D elphi法两两比较打分,得出判断矩阵,然后计算层次单排序结果。如果判断矩阵通过一致性检验,判断矩阵具有满意的一致性,则计算的指标权重数据可用。结果如表69~表73所示。表69 制约层B—目标层A的判断矩阵 表70 指标层C—自然子系统B1的判断矩阵 表71 指标层C—社...
如何给《电脑爱好者》杂志社投稿?
比如:goto语句是C语言中的关键字,Goto则不是;printf是C语言的一个内部函数,Printf则不是。在D elphi、Visual、Basic、Visual、FoxPro、Pascal等语言中,大小写所表示的意义是相同的,因此,在书写时采用单词首字母大写的约定,如: Write、If、Then、FileOpen、FileClose等。对控件、构件及普通单词等还应注意拼写正确,不...
如何向电脑爱好者投稿?
比如:goto语句是C语言中的关键字,Goto则不是;printf是C语言的一个内部函数,Printf则不是。在D elphi、Visual、Basic、Visual、FoxPro、Pascal等语言中,大小写所表示的意义是相同的,因此,在书写时采用单词首字母大写的约定,如: Write、If、Then、FileOpen、FileClose等。对控件、构件及普通单词等还应注意拼写正确,不...
期刊投稿边框如何设置?
比如:goto语句是C语言中的关键字,Goto则不是;printf是C语言的一个内部函数,Printf则不是。在D elphi、Visual、Basic、Visual、FoxPro、Pascal等语言中,大小写所表示的意义是相同的,因此,在书写时采用单词首字母大写的约定,如: Write、If、Then、FileOpen、FileClose等。对控件、构件及普通单词等还应注意拼写正确,不...