java 在JAVA中捕獲異常后throw自定義異常是不優(yōu)雅的嗎?
在JAVA中捕獲異常后throw自定義異常是不優(yōu)雅的嗎?事實上,這種方法在很多框架中都有使用1。Rethrow自定義異常,用于更好地隔離異常,識別異常類型、ID、自定義消息和日志2。對第三方庫的異常進
在JAVA中捕獲異常后throw自定義異常是不優(yōu)雅的嗎?
事實上,這種方法在很多框架中都有使用
1。Rethrow
自定義異常,用于更好地隔離異常,識別異常類型、ID、自定義消息和日志
2。對第三方庫的異常進行打包和抽象,以保持與框架異常定義的一致性,方便框架處理不同的異常
3。Restful API,統(tǒng)一異常管理
謝謝
!錯誤和異常都繼承自throwable。
錯誤是指程序不必處理的系統(tǒng)級錯誤和異常,如內存溢出,這是程序無法處理的;
異常是指程序需要捕獲或處理的異常,這是編程或編碼中的問題。
未檢查的異常:錯誤和runtimeException及其子類。Java編譯器在編譯時不會發(fā)現(xiàn)此異常,因此不需要程序來處理此異常。當然,try、catch和finally也可以用來處理這個異常。當出現(xiàn)這樣的異常時,大多數(shù)都是代碼編寫中的問題,應該通過修改代碼而不是捕獲來解決,比如ClassCastException、NullPointerException等
Checked exception:除了error和runtimeException。Java編譯器在編譯時會發(fā)現(xiàn)這種異常,因此必須對這種異常進行預處理,即使用try、catch和finally來處理這種異常,或者用throws子句將其拋出到上層,否則編譯將無法通過。當這種異常通常是由程序的運行環(huán)境引起的,如sqlexception、IOException等時,我們需要提前處理可能出現(xiàn)的異常。