1. 程式人生 > >try except與try finally不同之處

try except與try finally不同之處

RR 數字 ext con 失敗 eight err strong size

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;

try except與try finally不同之處