.net中的中異常的父類是Exception,大多數(shù)異常一般繼承自Exception。
可以通過編寫一個(gè)繼承自Exception的類的方式,自定義異常類!
Try
{
可能發(fā)生異常的代碼
后續(xù)代碼
}
Try以外的代碼
catch(Exception e)
{
}
finally
{
}
上述代碼描述如下
1.誰能執(zhí)行 在異常處理中,一旦try里面有了問題,程序會放棄異常的后續(xù)代碼直接跳到catch中。
執(zhí)行完了catch中的代碼,繼續(xù)執(zhí)行Try以外的代碼。
2.關(guān)于catch()中的參數(shù)e
e就是發(fā)生異常的異常類對象,可以任意取名。不是必須叫e的。
3.只拋一個(gè)
一塊try中的代碼只能拋出一個(gè)異常。
為什么呢?
因?yàn)橐坏┊惓>蛼伋隽税。竺嬗幸膊粓?zhí)行了呀!
4.獲取信息
可以通過 e.Message獲取異常信息
5.必須執(zhí)行
finally 無論如何都會執(zhí)行
6.可以沒有catch
可以只有 try catch
也可以只有try finally
1.不要逃避問題不要只把異常catch住,什么都不做,或者只是打印一下,這不是優(yōu)秀的“異常處理”作風(fēng)。
不知道怎么處理異常,就不要catch。讓他暴露出來。既然發(fā)生異常了,問題就肯定是有的,逃避不是辦法,直面他,才能解決他。尤其在分層的項(xiàng)目中。會讓程序陷入深度的邏輯混亂狀態(tài)。而問題被藏起來了,你甚至不知道哪里發(fā)生了問題。
2.如果真的遇到亂try、catch的程序員怎么辦?
vs很強(qiáng)大,它想到了這種情況。點(diǎn)擊【調(diào)試】【異常】進(jìn)入這樣一個(gè)工具,選中第二行 的引發(fā)選項(xiàng)。
這樣在調(diào)試的時(shí)候,無論是否try catch都會暴漏出異常。我們想要的信息就找到了。
新聞熱點(diǎn)
疑難解答
圖片精選