學了幾天的vb.net了,沒有太大的感覺,今天想對這幾天的學習進行一下總結吧,可是心裡也不知道學了些什麼,哎,不過還是有信心學好的,翻了翻這幾天在Onetnote中的筆記,發現捕獲和拋出異常這需要總結一下,雖然我總結的知識面不是很大,可是總結一下,心裡有些清晰了,加油!
結構化異常處理是隨著.NET的第一個版本的發行而加入到VisualBasic語言中的。結構化異常處理
與以前的On ErrorGoto...語句相比,通過使用一種與該語言其它部分更適應的文法從而使得代碼更具有可讀性,也比以前的On
Error Goto...語句功能更強,而且提供了更為靈活性的控制能力。
捕獲和拋出異常
異常處理是用Try...Catch...Finally...End Try語句實現的,其基本文法形式如下:
Try
'能夠引發一個異常的代碼
Catch
'處理異常的代碼
Finally
'實現清理工作的代碼(如關閉資料庫連接,等等)
End Try
解析:
Try和End Try語句都是必需的。Catch和Finally語句可以共同使用於一個Try塊中,但是至少使用其中之一。而且,可以使用多個Catch語句來處理不同類型的異常。如果你有多個Catch塊,可以對它們加以排序:
從最具體的異常類型到最粗略的異常類型:
Try
'能夠引發一個異常的代碼
Catch ex AsArgumentOutOfRangeException
'有可能使用一個預設值來處理一個無效參數以便使代碼繼續執行
Catch ex As Exception
'處理任何其它類型的異常
Finally
'實現清理工作的代碼(如關閉資料庫連接,等等)
End Try
解析:
你也可以在你的代碼中拋出異常。當你在代碼中執行一些清理工作時,捕獲並拋出異常是很有用的-這樣以來,一個更高層級的過程可以捕獲它。當你建立定製異常類型時,拋出異常也很有用。
拋出一個異常,你可以編寫如下形式的代碼:
Throw NewArgumentOutOfRangeException
解析:
ArgumentOutOfRangeException告訴Throw語句要拋出什麼類型的異常。這個ArgumentOutOfRangeException類型僅是.NET架構所提供的眾多的類型之一。