在C#中,可以通過自定義異常類來捕捉和處理應用程序中的異常情況。自定義異常類可以繼承自Exception類,並添加自己的屬性和方法。以下是一個簡單的自定義異常類的例子:
using System;
public class CustomException : Exception
{
public CustomException(string message) : base(message)
{
}
public void Log()
{
Console.WriteLine($"[{DateTime.Now}] {Message}");
}
}
在這個例子中,我們定義了一個自定義異常類CustomException,它繼承自Exception類。我們添加了一個Log方法,可以將異常信息輸出到控制台,方便調試。然後,我們在當中重寫了Exception類的構造函數,以便在創建CustomException對象時,可以傳遞異常信息。
接下來,讓我們看一下如何在應用程序中使用自定義異常類。
public class Program
{
public static void Main()
{
try
{
// 假設這裡發生了一個錯誤
throw new CustomException("自定義異常發生了!");
}
catch (CustomException ex)
{
Console.WriteLine(ex.Message);
ex.Log();
}
catch (Exception ex)
{
Console.WriteLine($"未處理的異常:{ex.Message}");
}
}
}
在這個例子中,我們創建了一個CustomException對象並將其拋出。然後,在try-catch塊中,我們首先捕捉了CustomException類型的異常,並輸出異常信息和調用Log方法。如果有其他類型的異常發生,則會被第二個catch塊捕捉。需要注意的是,當捕捉自定義異常時,要先捕捉自定義異常類型,否則異常可能被其他類型的異常捕捉到。
通過自定義異常類和try-catch機制,可以更好地控制和管理應用程序中的異常情況,提高應用程序的可靠性和穩定性。