[C#] 例外處理:try-catch 的用法

C# 例外處理 try-catch 的用法

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# 中的例外類別和自訂例外處理機制。謝謝閱讀!

參考資料

例外處理狀況語句 | Microsoft Learn

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *