年關(guān)將至,對(duì)于大部分程序員來(lái)說(shuō),馬上就可以閑下來(lái)一段時(shí)間了,然而在這個(gè)閑暇的時(shí)間里,唯有爭(zhēng)論哪門(mén)語(yǔ)言更好可以消磨時(shí)光,估計(jì)最近會(huì)有很多關(guān)于java與.net的博文出現(xiàn),我表示要作為一個(gè)吃瓜群眾,靜靜的看著大佬們發(fā)表心情。
以上的廢話說(shuō)的夠多了,這里就不再?gòu)U話了,還是切入正題吧。
在項(xiàng)目開(kāi)發(fā)中,對(duì)于系統(tǒng)和代碼的穩(wěn)定性和容錯(cuò)性都是有對(duì)應(yīng)的要求。實(shí)際開(kāi)發(fā)項(xiàng)目中的代碼與樣例代碼的區(qū)別,更多的是在代碼的運(yùn)行的穩(wěn)定性、容錯(cuò)性、擴(kuò)展性的比較。因?yàn)閷?duì)于實(shí)現(xiàn)一個(gè)功能來(lái)說(shuō),實(shí)現(xiàn)功能的核心代碼是一樣的,可能只是在寫(xiě)法上優(yōu)化而已,但是在實(shí)現(xiàn)某一個(gè)操作上使用的類(lèi)來(lái)說(shuō),這一點(diǎn)是絕大多數(shù)時(shí)候是一樣的。這樣看來(lái),我們?cè)趯?shí)際開(kāi)發(fā)的過(guò)程中,需要考慮的問(wèn)題比較多,已經(jīng)不僅僅局限于某一具體的功能實(shí)現(xiàn),更多的是代碼的穩(wěn)定性和擴(kuò)展性考慮。
以上是在實(shí)際開(kāi)發(fā)中需要面對(duì)的問(wèn)題,筆者在最近的博文中,也在考慮這個(gè)異常到底需要怎么去寫(xiě),以及異常到底需要怎么去理解,在博文中,也有不少的園友對(duì)異常的寫(xiě)法和處理提出了自己的意見(jiàn),在這里我就寫(xiě)一下自己的一些理解,可能寫(xiě)的比較淺顯和粗略,但是只當(dāng)是一個(gè)引子,可以引出大佬們來(lái)談?wù)勛约旱膶?shí)際項(xiàng)目經(jīng)驗(yàn)。希望對(duì)大家有一個(gè)幫助,也歡迎大家提出自己的想法和意見(jiàn),分享自己的知識(shí)和見(jiàn)解。
一.DotNET異常的概述:
談到異常,我們就需要知道什么叫做異常,萬(wàn)事萬(wàn)物如果我們想去學(xué)習(xí),就應(yīng)該知道我們要學(xué)習(xí)的東西是什么,這樣在心里也好有一個(gè)大概的認(rèn)知。異常是指成員沒(méi)有完成它的名稱宣稱可以完成的行動(dòng)。在.NET中,構(gòu)造器、獲取和設(shè)置屬性、添加和刪除事件、調(diào)用操作符重載和調(diào)用轉(zhuǎn)換操作符等等都沒(méi)有辦法返回錯(cuò)誤代碼,但是在這些構(gòu)造中又需要報(bào)告錯(cuò)誤,那就必須提供異常處理機(jī)制。
在異常的處理中,我們經(jīng)常使用到的三個(gè)塊分別是:try塊;catch塊;finally塊。這三個(gè)塊可以一起使用,也可以不寫(xiě)catch塊使用,異常處理塊可以嵌套使用,具體的方法在下面會(huì)介紹到。