常見到的runtime exception

逸卿發表於2014-04-13

ArithmeticException(除數為0的異常), BufferOverflowException(緩衝區上溢異常), BufferUnderflowException(緩衝區下溢異常), IndexOutOfBoundsException(出界異常), NullPointerException(空指標異常), EmptyStackException(空棧異常), IllegalArgumentException(不合法的引數異常), NegativeArraySizeException, NoSuchElementException, SecurityException, SystemException, UndeclaredThrowableException

1. java.lang.NullPointerException
  異常的解釋是"程式遇上了空指標",簡單地說就是呼叫了未經初始化的物件或者是不存在的物件,即把陣列的初始化和陣列元素的初始化混淆起來了。陣列的初始化是對陣列分配需要的空間,而初始化後的陣列,其中的元素並沒有例項化,依然是空的,所以還需要對每個元素都進行初始化(如果要呼叫的話)
  2. java.lang.ClassNotFoundException  異常的解釋是"指定的類不存在"。
  3. java.lang.ArithmeticException  這個異常的解釋是"數學運算異常",比如程式中出現了除以零這樣的運算就會出這樣的異常
  4. java.lang.ArrayIndexOutOfBoundsException
  異常的解釋是"陣列下標越界",現在程式中大多都有對陣列的操作,因此在呼叫陣列的時候一定要認真檢查,看自己呼叫的下標是不是超出了陣列的範圍,一般來說,顯示(即直接用常數當下標)呼叫不太容易出這樣的錯,但隱式(即用變數表示下標)呼叫就經常出錯了,還有一種情況,是程式中定義的陣列的長度是通過某些特定方法決定的,不是事先宣告的,這個時候,最好先檢視一下陣列的length,以免出現這個異常。
  5. java.lang.IllegalArgumentException
  這個異常的解釋是"方法的引數錯誤",比如g.setColor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊去檢查一下方法呼叫中的引數傳遞是不是出現了錯誤
  6. java.lang.IllegalAccessException
  這個異常的解釋是"沒有訪問許可權",當應用程式要呼叫一個類,但當前的方法即沒有對該類的訪問許可權便會出現這個異常。對程式中用了Package的情況下要注意這個異常。

相關文章