C#自定义异常的定义和捕获

在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機制,可以更好地控制和管理應用程序中的異常情況,提高應用程序的可靠性和穩定性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值