寶可夢(mèng)異常狀態(tài)捕捉 為什么捕獲多種類型的異常時(shí)不能對(duì)異常變量重新賦值?
為什么捕獲多種類型的異常時(shí)不能對(duì)異常變量重新賦值?對(duì)于異常來(lái)說(shuō)的話,我們只是寫(xiě)了一個(gè)功能捕獲這個(gè)異常,讓我們?cè)诔绦蜻\(yùn)行出錯(cuò)的時(shí)候,查看具體的問(wèn)題發(fā)生在了哪里,但是這些異常是我們也不知道到底怎么形成的,
為什么捕獲多種類型的異常時(shí)不能對(duì)異常變量重新賦值?
對(duì)于異常來(lái)說(shuō)的話,我們只是寫(xiě)了一個(gè)功能捕獲這個(gè)異常,讓我們?cè)诔绦蜻\(yùn)行出錯(cuò)的時(shí)候,查看具體的問(wèn)題發(fā)生在了哪里,但是這些異常是我們也不知道到底怎么形成的,所以就沒(méi)有辦法對(duì)這些異常進(jìn)行重新復(fù)制,我們只有補(bǔ)貨,然后分析之后再修改代碼。
在JAVA中捕獲異常后throw自定義異常是不優(yōu)雅的嗎?
No,實(shí)際上,在很多框架中都采用了這種方式
1.ReThrow
自定義異常,用來(lái)更好地進(jìn)行異常隔離,標(biāo)識(shí)異常的類型,ID,自定義消息等,用于LOG等2.對(duì)第三方庫(kù)的異常進(jìn)行包裝,抽象化,保持與你的框架異常定義一致性,便于你框架對(duì)不同異常的處理
3.restful Api,統(tǒng)一異常管理