您好,登錄后才能下訂單哦!
今天小編給大家分享一下C#中類的異常處理實例分析的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
日常編碼過程中,最重要的技能不是說你學會使用很多最新的編程技術或者做出一個高大上的系統。而是你在寫代碼過程中,對異常的處理,是否系統可以穩定,健壯。
對于異常的處理在C#中是通過try/cath機制來捕獲的,接下來我們一起來看看。
異常是程序中的運行時錯誤,它違法了系統約束或應用程序約束,或出現了在正常操作時未預料的情形。
比如對于某些變量的非正常賦值或者在參與運算操作時出現錯誤等。
關于異常,在C#中通過try語句和處理異常機制類保證異常的捕獲,防止由于異常的未捕獲導致整個程序出現異常提醒,甚至出現崩潰。
異常的要求
try塊包含為避免出現異常而被保護的代碼
catch子句部分含有一個或多個catch子句。(處理異常代碼段也叫做異常處理子程序)
finally塊含有在所有情況下都要被執行的代碼,無論有沒有異常發生
class Program { static void Main(string[] args) { try { //驗證是否有異常的代碼 Ahui hui = new Ahui(); InfoBase info = (InfoBase)hui; Console.WriteLine(hui.GetInfo()); Console.WriteLine(info.GetInfo()); } catch (Exception ex) { //捕獲異常,進行異常的處理 throw new Exception("異常向上一層拋出!"); } Console.ReadKey(); } }
在處理業務代碼時,必須在剛開始就將邏輯上的錯誤都考慮清楚進行驗證處理,比如判空,非正常值,值類型錯誤等。
其次在通過try/catch機制來捕獲非正常的異常,防止程序出現無法把控的錯誤,導致奔潰。
提示:在業務程序中盡量少用異常進行捕獲,如果條件滿足要第一時間對異常進行前期處理。<Catch()中的異常處理時間會比較長,而且會導致系統資源被浪費(異常實時被往上拋出)。>
在C#中有很多不同類型的異常可能被發生,BCL定義了許多類,每一個類代表一個指定的異常類型。當一個異常發生時,CLR首先創建該類型的異常對象,其次尋找適當的catch子句以處理它。(所有的異常類都派生自System.Exception類)
關于catch()有三種形式,可以處理不同級別的異常。
第一種 一般異常處理
try { } catch { //一般異常處理 }
能接受任何異常,但不能確認引起異常的類型。可對可能發生的異常進行普通處理和清理。
第二種 特定異常處理
try } catch(Exception) { //特定異常處理 }
把一個異常類的名稱作為參數,匹配該指定類或派生自它的異常類的異常。
第三種 帶對象的特定異常處理
try } catch(Exception ex) { throw new Exception(ex.Message); }
可提供關于異常的多種異常信息,匹配指定的異常或派生自它的異常類的異常。通過異常實例,可得到異常的詳細信息。
try } catch (Exception ex) { //特定異常處理 throw new Exception(ex.Message); } finally { //出現異常后的處理機制 }
這里需要特別說明下,關于finally中的代碼,不管異常是否被捕獲,它都會被執行。
在finally中適合存放釋放資源或后續處理的代碼。
以上就是“C#中類的異常處理實例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。