.net中的中異常的父類是Exception,大多數異常一般繼承自Exception。
可以通過編寫一個繼承自Exception的類的方式,自定義異常類!
Try
{
可能發生異常的代碼
後續代碼
}
Try以外的代碼
catch(Exception e)
{
}
finally
{
}
上述代碼描述如下
1.誰能執行 在異常處理中,一旦try裡面有了問題,程序會放棄異常的後續代碼直接跳到catch中。
執行完了catch中的代碼,繼續執行Try以外的代碼。
2.關於catch()中的參數e
e就是發生異常的異常類對象,可以任意取名。不是必須叫e的。
3.只拋一個
一塊try中的代碼只能拋出一個異常。
為什麼呢?
因為一旦異常就拋出了啊,後面有也不執行了呀!
4.獲取信息
可以通過 e.Message獲取異常信息
5.必須執行
finally 無論如何都會執行
6.可以沒有catch
可以只有 try catch
也可以只有try finally
1.不要逃避問題不要只把異常catch住,什麼都不做,或者只是打印一下,這不是優秀的“異常處理”作風。
不知道怎麼處理異常,就不要catch。讓他暴露出來。既然發生異常了,問題就肯定是有的,逃避不是辦法,直面他,才能解決他。尤其在分層的項目中。會讓程序陷入深度的邏輯混亂狀態。而問題被藏起來了,你甚至不知道哪裡發生了問題。
2.如果真的遇到亂try、catch的程序員怎麼辦?
vs很強大,它想到了這種情況。點擊【調試】【異常】進入這樣一個工具,選中第二行 的引發選項。
這樣在調試的時候,無論是否try catch都會暴漏出異常。我們想要的信息就找到了。