.NET中的異常和異常處理用法分析
本文較為詳細的分析了.NET中的異常和異常處理用法。分享給大家供大家參考。具體分析如下:
.NET中的異常(Exception)
.net中的中異常的父類是Exception,大多數(shù)異常一般繼承自Exception。
可以通過編寫一個繼承自Exception的類的方式,自定義異常類!
異常處理機制:
{
//可能發(fā)生異常的代碼
//后續(xù)代碼
}
//Try以外的代碼
catch(Exception e)
{
}
finally
{
}
上述代碼描述如下
1.誰能執(zhí)行
在異常處理中,一旦try里面有了問題,程序會放棄異常的后續(xù)代碼直接跳到catch中。
執(zhí)行完了catch中的代碼,繼續(xù)執(zhí)行Try以外的代碼。
2.關于catch()中的參數(shù)e
e就是發(fā)生異常的異常類對象,可以任意取名。不是必須叫e的。
3.只拋一個
一塊try中的代碼只能拋出一個異常。
為什么呢?
因為一旦異常就拋出了啊,后面有也不執(zhí)行了呀!
4.獲取信息
可以通過 e.Message獲取異常信息
5.必須執(zhí)行
finally 無論如何都會執(zhí)行
6.可以沒有catch
可以只有 try catch
也可以只有try finally
優(yōu)秀的異常處理作風
1.不要逃避問題不要只把異常catch住,什么都不做,或者只是打印一下,這不是優(yōu)秀的“異常處理”作風。
不知道怎么處理異常,就不要catch。讓他暴露出來。既然發(fā)生異常了,問題就肯定是有的,逃避不是辦法,直面他,才能解決他。尤其在分層的項目中。會讓程序陷入深度的邏輯混亂狀態(tài)。而問題被藏起來了,你甚至不知道哪里發(fā)生了問題。
2.如果真的遇到亂try、catch的程序員怎么辦?
vs很強大,它想到了這種情況。點擊【調(diào)試】【異常】進入這樣一個工具,選中第二行 的引發(fā)選項。
這樣在調(diào)試的時候,無論是否try catch都會暴漏出異常。我們想要的信息就找到了。
希望本文所述對大家的.NET程序設計有所幫助。
相關文章
asp.net(c#)動態(tài)修改webservice的地址和端口(動態(tài)修改配置文件)
這個問題其實并沒有我想像的那個復雜,我們都知道怎么直接修改吧,那就是修改WebConfig文件的配置節(jié)2012-12-12asp.net DataFormatString格式化GridView
在GridView里面顯示數(shù)據(jù),要顯示的數(shù)據(jù)有好多位小數(shù),就想讓它只顯示兩位小數(shù),在delphi里,直接用DisplayFormat就行了,2009-08-08詳解ASP.NET提取多層嵌套json數(shù)據(jù)的方法
本篇文章主要介紹了ASP.NET提取多層嵌套json數(shù)據(jù)的方法,利用第三方類庫Newtonsoft.Json提取多層嵌套json數(shù)據(jù)的方法,有興趣的可以了解一下。2017-02-02Asp.Net中的字符串和HTML十進制編碼轉(zhuǎn)換實現(xiàn)代碼
這篇文章主要介紹了Asp.Net中的字符串和HTML十進制編碼轉(zhuǎn)換實現(xiàn)代碼,本文一并列出了javascript語言的實現(xiàn)方法,用以實現(xiàn)字符串和HTML十進制編碼之間互相轉(zhuǎn)換功能,需要的朋友可以參考下2014-08-08ASP.NET MVC5網(wǎng)站開發(fā)之登錄、驗證和注銷管理員篇1(六)
這篇文章主要介紹了ASP.NET MVC5網(wǎng)站開發(fā)之管理員登錄、驗證和注銷,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08.NET Core 2.0遷移小技巧之MemoryCache問題修復解決的方法
這篇文章主要給大家介紹了關于.NET Core 2.0遷移小技巧之MemoryCache問題修復解決的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-08-08