踩坑--異常

這幾天在上ZL版本時,ajax調用總是失敗,在比對代碼與文件後發現有漏提文件。

有部分只提交到了Service層,Impl層忘記提了。但是啓動和運行時都沒有異常被捕獲到,只是進了ajax的error方法。

後瞭解到下面問題:


1.異常分爲運行時異常(RuntimeException)、受檢異常(Exception)、系統錯誤error。


2.RuntimeException,也就是運行時異常,表示代碼本身存在BUG,比如ArrayIndexOutOfBoundsException,數組下標越界,數組定義的長度不夠實際使用,代碼若不調BUG進行處理肯定還會報錯,控制檯一旦報RuntimeException,就必須在代碼中找BUG,因爲代碼BUG是人爲粗心製造的,不是try-catch一下就能解決的。try-catch用在代碼BUG上是毫無意義的,只需要寫代碼時謹慎點就能減少BUG,而不是try-catch。
非RuntimeException,就是受檢異常。比如處理文件流時的I/O問題,就屬於編譯時異常,相當於假設有IO異常就利用try-catch對其進行處理,或者 throws即可。
error,通常是系統出現了不可控制的錯誤,這個通常與程序無關,所以是不需要處理的。 


3.下面給出運行時異常與受檢異常的清晰定義:

①受檢查異常表示程序可以處理的異常,如果拋出異常的方法本身不能處理它,那麼方法調用者應該去處理它,從而使程序恢復運行,不至於終止程序。例如,噴墨打印機在打印文件時,如果紙用完或者墨水用完,就會暫停打印,等待用戶添加打印紙或更換墨盒,如果用戶添加了打印紙或更換了墨盒,就能繼續打印。

②運行時異常表示無法讓程序恢復運行的異常,導致這種異常的原因通常是由於執行了錯誤操作。一旦出現了錯誤操作,建議終止程序並仔細的debug,因此Java編譯器不檢查這種異常。

異常捕獲一般只是針對Exception。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章