1. 程式人生 > >Java Web開發常見異常及排查方法記錄

Java Web開發常見異常及排查方法記錄

突然想寫一篇部落格,記錄下java web開發常見異常及排查方法(持續更新,想到就會新增)

先簡單講一下異常的分類

所有異常的根類是Throwable。直接繼承自Throwable的是Error和Exception。Error表明發生的是嚴重的錯誤,程式很難處理和恢復的錯誤,比如OutOfMemoryError(記憶體溢位)。而Exception則要分兩種,一種是受檢異常,如果一個方法聲明瞭會拋某個受檢異常的話,IDE就會提示你必須用捕獲這個異常進行處理,或者在方法上宣告會拋異常,把異常再拋向上層,還有一種是非受檢異常,即繼承了Exception的直接子類RuntimeException的異常,如NullPOinterException,明明方法沒有宣告會拋異常,但執行時還是可能會拋這些非受檢異常,而即使宣告會拋非受檢異常,IDE也不會提示一定要捕獲或宣告向外拋這些異常。

下面就介紹下java開發中常見的異常:

1、NullPointerException,差不多算是最常見的異常了,也是比較好排查的,基本上看異常棧最上面一行,提示的程式碼行數,找到對應行,然後在那行上找呼叫了哪些物件的方法或訪問了哪些物件的例項屬性,這些物件就是可能報空指標的引用了,然後可以單步除錯,看停到這行程式碼上,看哪個物件是空,如果不方便本地除錯,就可以加些輸出語句,在報錯語句前把可能為空的物件都打出來看哪個輸出是null

2、ArrayIndexOutOfBoundsException,也是比較常見的異常,特別是初學陣列時,這個異常也比較好排查解決的,就是陣列越界了,要麼訪問的序號<0了,要麼>=陣列的長度了,看異常棧定位到報錯的具體行數,然後就很容易解決這個錯誤了。