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開發跳槽
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/552062.html
標籤:C#
上一篇:聊一聊 dotnet-trace 調查 lock鎖競爭
下一篇:返回列表