try except与try finally不同之处


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; 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM