異常處理詳解

2022-10-10 10:57:13 字數 1330 閱讀 5829

作為乙個開發人員,你應該感受到通過try, catch, finally塊來構建乙個結構化異常處理機制的優點。.net框架提供了一大堆異常處理層次來處理不同種類的異常。所有的異常都繼承自exception(基類)。你可以通過繼承來實現自定義錯誤處理以擴充套件異常處理機制。不幸的是,很多開發人員都誤用了這種架構能力。乙個隨時要記著的事是當乙個異常發生在執行時時(這個架構)應該如何運作?一般有以下三種情況:

忽略異常,讓它在呼叫棧裡上公升而被其它的catch塊捕獲。

捕獲異常,同時為你的應用程式執行必要的動作,如果你不想再次在異常中丟擲異常的話。

捕獲異常,並用其它異常覆蓋它。這樣和你的應用程式有更密切的關係。異常覆蓋是為了避免打破(架構中的)抽象層次。你可以通過你丟擲的異常的innerexception屬性指定原異常是什麼,這樣就可以把你現有的異常用乙個新的異常來覆蓋了(更與你系統有關的)。為了了解異常覆蓋,讓我們來看乙個能引起ioexception異常的方法,你可以在應用級別使用loadingexception 或 failtoloadinfoexception來覆蓋原有的ioexception異常,這樣比把底層的ioexception給使用者看到要來的好些。

乙個應用程式的異常處理框架應該有以下幾種(要求):

在開始你應該建立乙個一致的,健壯的異常管理架構,在你所有的系統中應該很好的封裝並抽象其記錄和報告等的細節。

void

empexits(

string

empid)

}應該用以下**:

bool

empexits(

string

empid)

}sqlconnection conn 

=new

sqlconnection(

"");

trycatch

(exception ex)

finally

double

result =0

;try

catch

(system.exception e)

應該替換成:

double

result =0

;if(secondval 

!=null

&&secondval 

>0)

else

trycatch

(exception e)

trycatch

(sqlexception sqlexp) 

//specific exception handler

catch

(exception ex) 

//generic exception handler

C 異常處理詳解

捕獲異常 捕獲異常的語法為 trycatch 異常型別 try 和 catch 都是c 中的關鍵字,後跟語句塊,不能省略 try 中包含可能會丟擲異常的語句,一旦有異常丟擲就會 獲。從 try 的意思可以看出,它只是 嘗試 捕獲異常,如果沒有異常丟擲,那就什麼也不捕獲。catch 用來處理 try ...

java詳解 異常處理

異常處理是繼承throwable的子類,有兩種 error 和 exception.error是系統崩潰或者資料庫崩潰,和 的編寫沒有關係.exception是和 有關係的,是一種異常.1.出現異常系統解決的辦法 以main函式為例 有兩種方式 main函式自己解決 把問題拋給上級去解決 誰呼叫ma...

異常處理詳解(C )

什麼是異常處理?異常是指程式在執行過程中出現的以外情況。異常通常會使程式的正常流程被打斷。例如,算數運算中被除數為0 陣列下標越界 開啟檔案是檔案不存在等等。一般情況下,程式中需要對異常進行處理,通過對異常情況的處理,可以發現產生異常的原因,並進行必要的異常處理,從而值程式的執行流程繼續走下去。為什...