C#是一種強類型語言,可以捕獲和處理各種異常,從而幫助我們發現程式中出現的錯誤。在程式開發過程中,如果需要找到特定的錯誤情況並處理,這時就需要創建自定義異常。本文將介紹如何在C#中創建和使用自定義異常。 1、什麼是異常? 異常是指在程式執行期間發生的錯誤或異常情況,例如除法中除以0、文件不存在、記憶體 ...
C#是一種強類型語言,可以捕獲和處理各種異常,從而幫助我們發現程式中出現的錯誤。在程式開發過程中,如果需要找到特定的錯誤情況並處理,這時就需要創建自定義異常。本文將介紹如何在C#中創建和使用自定義異常。
1、什麼是異常?
異常是指在程式執行期間發生的錯誤或異常情況,例如除法中除以0、文件不存在、記憶體不足等。當發生異常時,程式會停止執行當前的操作,並拋出一個異常對象。異常對象包含有關異常情況的信息,例如異常類型、錯誤消息、堆棧跟蹤等。
C# 異常處理基於四個關鍵字構建:try、catch、finally 和 throw。
1)try- try 塊標識為其激活特定異常的代碼塊。它後面是一個或多個捕獲塊。
2)catch- 程式在程式中要處理問題的位置使用異常處理程式捕獲異常。catch 關鍵字捕獲發生的異常。
3)finally - finally 塊用於執行一組給定的語句,無論是否引發異常。例如,如果打開一個文件,無論是否引發異常,都必須關閉該文件。
4)throw- 當出現問題時,程式會引發異常。這是使用 throw 關鍵字完成的。
2、在C#中自定義異常
接下來我們來看看如何創建C#異常類,在C#中,創建自定義異常很簡單。只需要創建一個類,並從System.Exception類或其子類派生即可。例如,以下代碼創建了一個名為CustomException的自定義異常類:
//創建一個沒有錯誤消息的異常對象
public class CustomException : Exception
{
public CustomException() { }
//創建一個包含錯誤消息的異常對象。
public CustomException(string message)
: base(message){throw new Exception(message);}
//創建一個包含錯誤消息和內部異常對象的異常對象。
public CustomException(string message, Exception innerException)
: base(message, innerException) { }
}
這樣一個自定義異常就創建好了。
使用自定義異常類
使用自定義異常與使用內置異常類相同。只需要在程式中拋出異常對象,並使用try-catch塊捕獲異常即可。代碼如下:
try
{
//如果是k引發d二異常會報錯系統異常
//int i=0; int j=1;
//int k=i/j;
// 某些操作 下麵會報自定義異常
throw new CustomException("發生了自定義異常");
}
catch (CustomException ex)
{
Console.WriteLine("自定義異常:"+ex.Message);
}
catch (Exception ex)
{
Console.WriteLine("系統異常:"+ex.Message);
}
//歡迎關註公眾號:DOTNET開發跳槽,領取海量面試題。加微信號xbhpnet入群
上面代碼如果是除0問題會報系統異常,而自定義異常在觸發的時候報自定義異常。如下:
3、自定義異常的使用場景
以上實現了自定義異常類,那麼自定義異常類通常在哪些場景下使用呢?
1)檢測業務規則
當我們需要檢查業務規則時,可以創建自定義異常類。例如,當用戶嘗試創建一個已經存在的賬戶時,我們可以拋出一個名為DuplicateAccountException的自定義異常。
2)易於調試
通過使用自定義異常類,我們可以更好地調試代碼。當我們拋出一個自定義異常時,可以將更多有用的信息傳遞給調用者,例如錯誤消息、錯誤代碼和堆棧跟蹤等。這些信息有助於調用者快速定位問題併進行修複。
結語
自定義異常是處理特定錯誤情況的好方法。通過創建自定義異常類,我們可以更好地控製程序的行為,並提供有用的錯誤信息。希望本文對你帶來收穫,歡迎留言和吐槽。5.1長假結束了,希望大家過完節滿血複活,重回人生巔峰!!
參考:微軟官方文檔
版權聲明:本文來源於網友收集或網友供稿,僅供學習交流之用,如果有侵權,請轉告小編或者留言,本公眾號立即刪除。
來源公眾號:DotNet開發跳槽