
C# 例外處理
try-catch 的用法
在程式開發過程中,我們無法避免遇到各種例外情況,像是無效的輸入、資源不可用或是未預期的錯誤。C# 提供了 try-catch 區塊來處理這些例外情況,讓我們能夠優雅地處理錯誤並保證程式的穩定運行。本篇文章將講解如何使用 try-catch 區塊來處理例外情況,並介紹 C# 中的例外類別像是 ArgumentException、NullReferenceException 等以及自訂例外處理機制。
try-catch 的基本用法
在 C# 中,我們使用 try-catch 區塊來捕獲並處理例外情況。try 區塊包含可能引發例外的程式碼,而 catch 區塊則用於處理被捕獲的例外。基本的 try-catch 結構如下:
try
{
// 可能引發例外的程式碼
}
catch (Exception ex)
{
// 處理例外的程式碼
}
C# 中的例外類別
C# 提供了許多內建的例外類別,用於表示不同類型的例外情況。這些例外類別都是從 Exception 類別派生而來。常見的例外類別包括:
- ArgumentException:當傳遞給方法的引數無效時引發。
- NullReferenceException:當嘗試存取 null 物件的成員時引發。
- FileNotFoundException:當嘗試訪問不存在的檔案時引發。
在 catch 區塊中,我們可以根據需要指定例外類別,以捕獲特定類型的例外。例如,我們可以使用多個 catch 區塊來處理不同的例外情況。
try
{
// 可能引發例外的程式碼
}
catch (ArgumentException ex)
{
// 處理 ArgumentException 的程式碼
}
catch (NullReferenceException ex)
{
// 處理 NullReferenceException 的程式碼
}
catch (Exception ex)
{
// 處理其他例外的程式碼
}
自訂例外處理機制
除了使用內建的例外類別外,我們還可以自訂例外類別來表示特定的例外情況。這些自訂例外類別可以根據項目的需求進行定義,並且可以包含自訂的屬性和方法。
// 自訂例外類別
public class CustomException : Exception
{
public CustomException(string message) : base(message)
{
// 自訂的建構函式
}
// 自訂的屬性和方法
}
// 使用自訂例外類別
try
{
// 可能引發例外的程式碼
throw new CustomException("自訂例外訊息");
}
catch (CustomException ex)
{
// 處理自訂例外的程式碼
}
catch (Exception ex)
{
// 處理其他例外的程式碼
}
在 C# 中,使用 try-catch 區塊能夠優雅地應對程式中的例外情況,我們可以使用內建的例外類別來表示不同類型的例外,也可以使用自訂例外類別來表示特定的例外情況。透過正確處理例外,我們能夠提高程式的穩定性和可靠性,並為使用者提供更好的使用體驗。
希望本篇文章能幫助您理解如何使用 try-catch 區塊來處理例外情況,以及介紹 C# 中的例外類別和自訂例外處理機制。謝謝閱讀!