try except与try finally不同之处
try//尝试执行
{SomeCode}
except//出错的时候执行, Except有特定的错误类型
{SomeCode}
end;
try//尝试执行
{SomeCode}
finally//无论如何都强制执行
{SomeCode}
end;
例:
try Age:=StrToInt(Edit1.Text); ShowMessage(Format('生于%d年',[YearOf(Now)-Age])); except on EConvertError do showmessage('输入编辑框的不是一个有效的数字!'); on ERangeError do showmessage('输入编辑框的年龄值太大!'); end;
保留字on…do用于判断异常类型。必须注意的是:except后面的语句必须包含在某一个on…do模块中,而不能单独存在。这又是同finally不同的一个地方。
异常处理
try //成功失败都跳进finally语句里执行 finally end; try //失败才跳进 except里执行 except on e:Exception do ShowMessage(e.Message); end;