您好,登錄后才能下訂單哦!
本篇文章為大家展示了ASP.NET中怎么實現異常管理,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
示例一
我們假設你試圖向一個文件寫入數據,而你的應用程序也認為這個文件在正確的路徑上。如果不在,就會拋出一個異常。而話說回來,如果你的職責是跟蹤此文件,那么代碼里還有(找不到文件的)異常那將是一個不好的編碼習慣,這種情況應該被校驗代碼處理(而不是異常)。
示例二
再讓我們假設一個一般的ASP.NET程序中,你正試圖更新數據庫中所有必需的字段。你的應用程序認為此數據庫連接可用,假設實際上這個連接是不可用的……拋出異常是一個解決方案。而我們又把話說回來,如果更新數據庫的必填字段時出現有幾個值為空的字段,那拋出異常就沒有必要了,這些處理應該由校驗代碼完成。
如何處理異常
作為一個開發人員,你應該感受到通過try, catch, finally塊來構建一個結構化異常處理機制的優點。.NET框架提供了一大堆異常處理層次來處理不同種類的異常。所有的異常都繼承自 Exception(基類)。你可以通過繼承來實現自定義錯誤處理以擴展異常處理機制。不幸的是,很多開發人員都誤用了這種架構能力。一個隨時要記著的事是當一個異常發生在運行時時(這個架構)應該如何運作?一般有以下三種情況:
忽略異常,讓它在調用棧里上升而被其它的catch塊捕獲。
捕獲異常,同時為你的應用程序執行必要的動作,如果你不想再次在異常中拋出異常的話。
捕獲異常,并用其它異常覆蓋它。這樣和你的應用程序有更密切的關系。異常覆蓋是為了避免打破(架構中的)抽象層次。你可以通過你拋出的異常的 InnerException屬性指定原異常是什么,這樣就可以把你現有的異常用一個新的異常來覆蓋了(更與你系統有關的)。為了了解異常覆蓋,讓我們來看一個能引起IOException異常的方法,你可以在應用級別使用LoadingException 或 FailtoLoadInfoException來覆蓋原有的IOException異常,這樣比把底層的IOException給用戶看到要來的好些。
一個應用程序的異常處理框架應該有以下幾種(要求):
探測異常:
◆執行代碼清除;
◆內部異常覆蓋;
◆內部異常替換;
◆記錄并報告錯誤信息;
◆建立能被外部監視的事件以幫助系統操作;
上述內容就是ASP.NET中怎么實現異常管理,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。