VB.NET異常處理突破局限性
因?yàn)?a >VB.NET的出現(xiàn),在一定程度上改變了開發(fā)人員的編程習(xí)慣。比如在錯誤的處理方面。VB.NET異常處理的方式徹底改變了VB6中的錯誤處理方式,這點(diǎn)我最喜歡,哈! 項(xiàng)目中的異常分為兩種,業(yè)務(wù)異常和系統(tǒng)異常:
1、業(yè)務(wù)Exception:
從ApplicationException中繼承,有一個總的Exception,然后各個模塊的Exception都是從總的Exception中繼承,從而形成了一個層次結(jié)構(gòu):
- ApplicationException
 - ProjectException
 - Module1Exception
 - Module1Concret1Exception
 - Module2Concret2Exception
 - ……………
 - Module2Exception
 - ……………
 
2、系統(tǒng)異常,報出的錯誤,包括數(shù)據(jù)庫報出的:
VB.NET異常處理捕捉的原則是只捕捉需要的錯誤,因材在數(shù)據(jù)訪問層和業(yè)務(wù)層不需要Catch所有的錯誤,如下:
- Public Function Methoda()
 - IF …… THEN
 - If ContextUtil。IsInTran
 
saction Then- ContextUtil.etAbort()
 - End If
 - Throw Module1Concret1
 
Exception- End If
 - ……
 
Catch 需要的具體的錯誤Module2Concret1Exception
- '這里不需要 Catch
 
ProjectException- End Function
 
為了便于調(diào)試,需要把系統(tǒng)異常記錄在日志文件中,這里用的MS提供的Exception Management Application Block 來實(shí)現(xiàn)的,具體的實(shí)現(xiàn)方式見MSDN,下載地址是:
http:www.icrosoft.om/downloads/details.spx?FamilyId=8CA8EB6E-6F4A-43DF-ADEB-8F22CA173E02&displaylang=en
在界面顯示錯誤信息的時候?yàn)閮煞N顯示方式,一種是用來顯示業(yè)務(wù)異常的,一種界面是用來顯示系統(tǒng)異常的,VB.NET異常處理代碼如下:
- Public Sub Button_OnClick()
 - Dim objblModule As 業(yè)務(wù)層
 - Try
 - ObjblModul.osomething()
 - Catch ProjectExcption
 - '顯示一個定制的頁面()
 - Catch Exception
 - 'call Exception Management.
 
Publish method to log
the exception- '顯示另一個定制的頁面,定制的頁面
 
有將具體的錯誤信息發(fā)送到administrator
的功能,就象windows的錯誤頁面- End Try
 - End Sub
 
【編輯推薦】















 
 
 





 
 
 
 