java中throw的用法 在JAVA中捕獲異常后throw自定義異常是不優(yōu)雅的嗎?
在JAVA中捕獲異常后throw自定義異常是不優(yōu)雅的嗎?事實(shí)上,這種方法在很多框架中都有使用1。Rethrow自定義異常,用于更好地隔離異常,識(shí)別異常類(lèi)型、ID、自定義消息和日志2。對(duì)第三方庫(kù)的異常進(jìn)
在JAVA中捕獲異常后throw自定義異常是不優(yōu)雅的嗎?
事實(shí)上,這種方法在很多框架中都有使用
1。Rethrow
自定義異常,用于更好地隔離異常,識(shí)別異常類(lèi)型、ID、自定義消息和日志
2。對(duì)第三方庫(kù)的異常進(jìn)行打包和抽象,以保持與框架異常定義的一致性,方便框架處理不同的異常
3。Restful API,統(tǒng)一異常管理
不,拋出異常是為了在某些條件不滿足時(shí)終止程序,但也可以選擇捕獲處理,捕獲后程序不會(huì)終止。但是為什么一些系統(tǒng)化的方法必須讓你捕獲?這是因?yàn)榉椒ㄊ怯胻hrows關(guān)鍵字聲明的。它的功能是將throw顯示的異常交給調(diào)用者處理。如果調(diào)用者不處理它,他就不會(huì)嘗試catch,然后編譯就會(huì)失敗。
java中throw拋出的一些異常,程序不進(jìn)行處理程序編譯也不會(huì)錯(cuò)誤?
您好,您應(yīng)該使用C語(yǔ)言。在面向過(guò)程的語(yǔ)言中,調(diào)用函數(shù)時(shí),如何知道函數(shù)調(diào)用是否成功?通常,它是由函數(shù)的返回值來(lái)判斷的。例如,返回0表示成功,返回-1表示失敗。這種錯(cuò)誤處理方法相對(duì)簡(jiǎn)單,有時(shí)您希望了解更多的錯(cuò)誤信息。在面向?qū)ο笳Z(yǔ)言中,使用異常(實(shí)際上是類(lèi))是一個(gè)很好的解決方案。將錯(cuò)誤信息封裝到exception類(lèi)中,這樣當(dāng)出現(xiàn)錯(cuò)誤時(shí),可以根據(jù)捕獲的exception對(duì)象獲取更多的錯(cuò)誤信息。在Java中,throw關(guān)鍵字用于在語(yǔ)句中拋出異常,throws用于聲明函數(shù)可能返回異常。例如:public void test(object o)拋出異常{if(o==null)拋出新異常(“error here,parameter is null object”)//next process o}如果您想學(xué)習(xí)Java,建議您去Java語(yǔ)法書(shū)看看。這些都是基本語(yǔ)法,不難,但必須掌握。我希望我的回答能幫助你。