自定義異常鏈處理

2021-09-16 20:09:14 字數 1081 閱讀 6588

使用lombok自動生成無參和全部引數的構造方法,並生成對應欄位的get和set方法

@data

@allargsconstructor

@noargsconstructor

public class myexception extends exception

/**

* dao層

* /public class mydao

}

/**

* service層

* /public class myserivice

}

public class ttservice catch (myexception myexception)catch (exception excepiton)catch (throwable throwable)}}

執行執行之後,在ttservice的myexception中捕獲到了異常,列印的異常資訊為:

myexception:2/request param error
我們在myserivice丟擲的異常變為 throwable(aop切面丟擲的異常的就是throwable)而不是myexception,到了ttservice最終捕獲到的還是我們最初的丟擲的myexception型別。

(雖然myserivice丟擲父類throwable,其實父類引用指向子類物件myexception,最終捕獲的也就是子類的異常物件myexception)

從上圖中我們可以看出,myexception是exception的子類,而exception又是throwable的子類。

我們通過throw丟擲異常myexcepiton,方法通過throws一層層往上丟擲的異常要大於等於異常myexcepiton,也就是說throws丟擲的異常必須是myexcepiton或者父類。

異常處理 自定義異常

異常 1.定義 執行時檢測到的錯誤。2.現象 當異常發生時,程式不會再向下執行,而轉到函式的呼叫語句。3.常見異常型別 名稱異常 nameerror 變數未定義。型別異常 typeerror 不同型別資料進行運算。索引異常 indexerror 超出索引範圍。屬性異常 attributeerror ...

自定義異常處理

自定義異常處理類 using system using system.diagnostics 日誌記錄類 using system using system.configuration using system.diagnostics using system.io using system.tex...

自定義異常處理

煙台大學計算機學院學生 all right reserved.檔名稱 c 完成日期 2014年10月16日 版本號 v1.0 對任務及求解方法的描述部分 輸入兩個數,輸出其相除的結果,並進行增加乙個自定義異常類outofboundexception,我的程式 using system using s...