在.NET Framework中,C#使用異常處理機制來處理錯誤。異常是程序在運行時遇到的問題,如嘗試訪問不存在的文件、除以零等。當異常發生時,程序會中斷執行并跳轉到相應的異常處理代碼,這樣可以確保程序不會因為錯誤而崩潰,并提供一種優雅的錯誤處理方式。
C#中的異常處理主要包括以下幾個關鍵字和概念:
以下是一個簡單的C#異常處理示例:
using System;
using System.IO;
class Program
{
static void Main()
{
try
{
// 嘗試讀取一個不存在的文件
using (StreamReader sr = new StreamReader("nonexistent_file.txt"))
{
Console.WriteLine(sr.ReadToEnd());
}
}
catch (FileNotFoundException e)
{
// 捕獲并處理特定類型的異常(這里是FileNotFoundException)
Console.WriteLine("文件未找到: '{0}'", e.FileName);
}
catch (Exception e)
{
// 捕獲其他未處理的異常
Console.WriteLine("發生異常: {0}", e.Message);
}
finally
{
// 無論是否發生異常,都會執行此代碼塊
Console.WriteLine("異常處理完成");
}
}
}
在這個示例中,我們嘗試讀取一個不存在的文件。如果文件不存在,程序會引發FileNotFoundException異常。通過使用try-catch塊,我們可以捕獲并處理這個異常,避免程序崩潰。最后,finally塊中的代碼將始終執行,確保資源得到正確釋放。