java常見異常歸納
阿新 • • 發佈:2017-09-11
應用程序 找到 拋出異常 定義 instance 如果 調用 leo 常數 1、java.lang.NullPointerException(空指針異常)
調用了未經初始化的對象或者是不存在的對象
經常出現在創建圖片、調用數組這些操作中,比如圖片未經初始化,或者圖片創建時的路徑錯誤等等。對數組操作中出現空指針,即把數組的初始化和數組元素的初始化混淆起來了。數組的初始化是對數組分配需要的空間,而初始化後的數組,其中的元素並沒有實例化,依然是空的,所以還需要對每個元素都進行初始化(如果要調用的話)。
2、java.lang.ClassNotFoundException
指定的類不存在
這裏主要考慮一下類的名稱和路徑是否正確即可,通常都是程序試圖通過字符串來加載某個類時可能引發異常
比如:調用Class.forName();或者調用ClassLoad的finaSystemClass();或者LoadClass()。
3、java.lang.NumberFormatException
字符串轉換為數字異常
當試圖講一個String轉換為指定的數字類型,而該字符串卻不滿足數字類型要求的格式時,拋出該異常,如現在將字符串的數據“123456”轉換為數值型數據時,是允許的;但是如果字符串數據中包含了非數字型的字符,如123#456,此時轉換為數值型時就會出現異常。系統就會捕捉到這個異常,並進行處理。
4、java.lang.IndexOutOfBoundsException
數組下標越界異常
查看調用的數組或者字符串的下標是不是超出了數組的範圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用標量當下標)調用就經常出錯了,還有一種情況,是程序中定義的數組的長度是通過某些特定方法決定的,不是事先聲明的,這個時候,最好先查看一下數組的length,以免出現這個異常。
5、java.lang.IllegalArgumentException
方法參數錯誤
比如g.setColor(int red, int green, int blue)這個方法中的三個值,如果超過了255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊檢查一下方法調用中的參數傳遞是不是出現了錯誤。
6、java.lang.IllegalAccessException
沒有訪問權限
當應用程序要調用一個類,但當前的方法沒有對該類的訪問權限便會出現這個異常。對程序中用了Package的情況下要註意這個異常。
7、java.lang.ArithmeticException
數字運算異常
當算術運算中出現了除以零這樣的運算就會出這樣的異常。
8、java.lang.ClassCastException
數據類型轉換異常
當試圖對某個對象強制執行向下轉型,但該對象既不可以轉型又不可以轉換為其子類的實例時將會引發該異常,如下列代碼:
Object obj = new Integer(0);
String str = obj;
9、java.lang.FileNotFoundException
文件未找到異常
當程序試圖打開一個不存在的文件進行讀寫是將會引發該異常。該異常由FileInputStream、FileOutputStream、RandomAccessFile的構造器聲明拋出。
即使被操作的文件存在,但是由於某些原因不可訪問,比如打開一個只讀文件進行寫入,這些構造方法仍然會引發異常。
10、java.lang.ArrayStoreException
數組存儲異常
當試圖將類型不兼容的對象存入一個Object[]數組時將引發異常。
Object[] obj = new String[3];
obj[0] = new Integer(0);
11、java.lang.NoSuchMethodException
方法不存在異常
當程序試圖通過反射來創建對象,訪問(修改或讀取)某個方法,但是該方法不存在就會引發異常。
12、java.lang.NoSuchFiledException
filed不存在異常
當程序試圖通過反射來創建對象,訪問(修改或讀取)某個filed,但是該filed不存在就會引發異常。
13、java.lang.EOFException
文件已結束異常
當程序在輸入的過程中遇到文件或流的結尾時,引發異常。因此該異常用於檢查是否達到文件或流的結尾。
14、java.lang.InstantiationException
實例化異常
當試圖通過Class的newInstance()方法創建某個類的實例,但程序無法通過該構造器來創建該對象時引發。
- Class對象表示一個抽象類,接口,數組類,基本類型
- 該Class表示的類沒有對應的構造器
java常見異常歸納