首頁  >  文章  >  Java  >  java常見的幾種異常

java常見的幾種異常

尚
原創
2019-12-26 14:01:177044瀏覽

java常見的幾種異常

異常,根據字面理解,有意外之意。把它置於程式碼層面來理解,即阻止了當前方法或作用域繼續執行。在Java中,異常被當作物件來處理,其基底類別是Throwable。

java常見的幾種例外:

1、空指標例外類別:NullPointerException

呼叫了未經初始化的物件或是不存在的對象。經常出現在建立圖片,呼叫數組這些操作中,例如圖片未經初始化,或圖片建立時的路徑錯誤等等。對數組操作中出現空指針, 即把數組的初始化和數組元素的初始化混淆起來了。

數組的初始化是對數組分配需要的空間,而初始化後的數組,其中的元素並沒有實例化, 依然是空的,所以還需要對每個元素都進行初始化(如果要調用的話)。

2、資料型別轉換異常:java.lang.ClassCastException

當試圖將對某個物件強制執行向下轉型,但該物件又不可轉換又不可轉換為其子類別的實例時將引發該異常,如下列程式碼。

Object obj = new Integer(0);
String str = obj;

3、沒有存取權限:java.lang.IllegalAccessException

當應用程式要呼叫一個類,但目前的方法即沒有對該類別的存取權限便會出現這個異常。對程式中用了Package的情況下要注意這個異常。

4、方法的參數錯誤:java.lang.IllegalArgumentException

例如g.setColor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊去檢查一下方法呼叫中的參數傳遞是不是出現了錯誤。

5、陣列下標越界異常:java.lang.IndexOutOfBoundsException

查看呼叫的陣列或字串的下標值是不是超出了陣列的範圍,一般來說,顯示(即直接用常數當下標)呼叫不太容易出這樣的錯,但隱式(即用變數表示下標)呼叫就常常出錯了。

還有一種情況,是程式中定義的陣列的長度是透過某些特定方法決定的,不是事先宣告的,這個時候先查看一下陣列的length,以免出現這個例外。

6、檔案已結束異常:EOFException

當程式在輸入的過程中遇到檔案或流的結尾時,引發例外狀況。因此該異常用於檢查是否達到檔案或流的結尾

7、檔案未找到異常:FileNotFoundException

當程式試圖開啟一個不存在的檔案進行讀取寫入時將會引發該異常。該異常由FileInputStream,FileOutputStream,RandomAccessFile的構造器聲明拋出,即使被操作的文件存在,但是由於某些原因不可訪問,例如打開一個只讀文件進行寫入,這些構造方法仍然會引發異常。

8、字串轉換為數字異常:NumberFormatException

當試圖將一個String轉換為指定的數字類型,而字串確不符合數字類型要求的格式時,拋出該異常.如現在講字符型的數據“123456”轉換為數值型數據時,是允許的。

但是如果字符型資料中包含了非數字型的字符,如123#56,此時轉換為數值型時就會出現異常。系統就會捕捉到這個異常,並進行處理。

9、指定的類別不存在: java.lang.ClassNotFoundException

這裡主要考慮一下類別的名稱和路徑是否正確即可,通常都是程式試圖透過字串來載入某個類別時可能引發異常。例如:呼叫Class.forName;或呼叫ClassLoad的finaSystemClass;或LoadClass;

10、實例化例外:java.lang.InstantiationException

當試圖通過Class的newInstance方法建立某個類別的實例,但程式無法透過該建構器來建立該物件時引發。 Class物件表示一個抽象類,接口,數組類,基本類型 。此Class表示的類別沒有對應的構造器。

更多java知識請關注java基礎教學欄。

以上是java常見的幾種異常的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn