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