年關將至,對于大部分程序員來說,馬上就可以閑下來一段時間了,然而在這個閑暇的時間里,唯有爭論哪門語言更好可以消磨時光,估計最近會有很多關于java與.net的博文出現,我表示要作為一個吃瓜群眾,靜靜的看著大佬們發表心情。
以上的廢話說的夠多了,這里就不再廢話了,還是切入正題吧。
在項目開發中,對于系統和代碼的穩定性和容錯性都是有對應的要求。實際開發項目中的代碼與樣例代碼的區別,更多的是在代碼的運行的穩定性、容錯性、擴展性的比較。因為對于實現一個功能來說,實現功能的核心代碼是一樣的,可能只是在寫法上優化而已,但是在實現某一個操作上使用的類來說,這一點是絕大多數時候是一樣的。這樣看來,我們在實際開發的過程中,需要考慮的問題比較多,已經不僅僅局限于某一具體的功能實現,更多的是代碼的穩定性和擴展性考慮。
以上是在實際開發中需要面對的問題,筆者在最近的博文中,也在考慮這個異常到底需要怎么去寫,以及異常到底需要怎么去理解,希望對大家有一個幫助,也歡迎大家提出自己的想法和意見,分享自己的知識和見解。
一.DotNET異常的概述:
談到異常,我們就需要知道什么叫做異常,萬事萬物如果我們想去學習,就應該知道我們要學習的東西是什么,這樣在心里也好有一個大概的認知。異常是指成員沒有完成它的名稱宣稱可以完成的行動。在.NET中,構造器、獲取和設置屬性、添加和刪除事件、調用操作符重載和調用轉換操作符等等都沒有辦法返回錯誤代碼,但是在這些構造中又需要報告錯誤,那就必須提供異常處理機制。
在異常的處理中,我們經常使用到的三個塊分別是:try塊;catch塊;finally塊。這三個塊可以一起使用,也可以不寫catch塊使用,異常處理塊可以嵌套使用,具體的方法在下面會介紹到。
在異常的處理機制中,一般有三種選擇:重新拋出相同的異常,向調用棧高一層的代碼通知該異常的發生;拋出一個不同的異常,想調用棧高一層代碼提供更豐富的異常信息;讓線程從catch塊的底部退出。
有關異常的處理方式,有一些指導性的建議。
1.恰當的使用finally塊:
finally塊可以保證不管線程拋出什么類型的異常都可以被執行,finall塊一般用來做清理那些已經成功啟動的操作,然后再返回調用者或者finally塊之后的代碼。
2.異常捕捉需適當:
為什么要適當的捕捉異常呢?如下代碼,因為我們不能什么異常都去捕捉,在捕獲異常后,我們需要去處理這些異常,如果我們將所有的異常都捕捉后,但是沒有預見會發生的異常,我們就沒有辦法去處理這些異常。
新聞熱點
疑難解答
圖片精選