首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 例外處理(二):finally 保證執行、goto/return/break 穿透、try-catch-finally 完整模式

     編輯:關於C語言

finally 區塊 在 try 區塊結束時必定執行,不論離開原因:

  • 正常執行完畢
  • break/continue/goto/return 跳離
  • 例外傳播離開

程式碼驗證


try { Console.WriteLine("try"); goto leave; }
finally { Console.WriteLine("finally"); }
leave: Console.WriteLine("leave");
// 輸出:try → finally → leave

finally 中擲回例外

  • 新例外傳播至外層 try。
  • 若傳播過程再擲回另一例外,**原例外遺失**(無 InnerException 鏈結)。

標準模式:try-catch-finally


float x, y, z;
try {
    z = Math.Sqrt(x*x - y*y); // 可能負數開根號 → NaN
}
catch {
    z = Math.Sqrt(y*y - x*x); // 取絕對值補救
}
finally {
    z += x; // 清理/後處理
}

此模式實現「嘗試→失敗補救→最終清理」完整語意。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved