Java常見異常總結

來源:互聯網
上載者:User

標籤:字串轉換   存在   代碼   資料類型   mat   str   需要   new   建立對象   

1. java.lang.NullPointerException(null 指標異常)
  調用了未經初始化的對象或者是不存在的對象

經常出現在建立圖片,調用數組這些操作中,比片未經初始化,或者圖片建立時的路徑錯誤等等。對數組操作中出現null 指標,

即把數組的初始化和數組元素的初始化混淆起來了。數組的初始化是對數組分配需要的空間,而初始化後的數組,其中的元素並沒有執行個體化,

依然是空的,所以還需要對每個元素都進行初始化(如果要調用的話)。

2. java.lang.ClassNotFoundException  

   指定的類不存在

這裡主要考慮一下類的名稱和路徑是否正確即可,通常都是程式試圖通過字串來載入某個類時可能引發 異常

比如:調用Class.forName();

        或者調用ClassLoad的finaSystemClass();或者LoadClass();

3. java.lang.NumberFormatException

   字串轉換為數字異常

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

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

4. java.lang.IndexOutOfBoundsException

  數組下標越界異常

 查看調用的數組或者字串的下標值是不是超出了數組的範圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用變數表示下標)調用就經常出錯了,還有一種情況,是程式中定義的數組的長度是通過某些特定方法決定的,不是事先聲明的,這個時候,最好先查看一下數組的length,以免出現這個異常。

5. java.lang.IllegalAccessException

 沒有存取權限

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

6. java.lang.ArithmeticException

 數學運算異常

當算術運算中出現了除以零這樣的運算就會出這樣的異常。

7. java.lang.ClassCastException

 資料類型轉換異常

當試圖將對某個對象強制執行向下轉型,但該對象又不可轉換又不可轉換為其子類的執行個體時將引發該異常,如下列代碼。

                             Object obj = new Integer(0);

                             String str = obj;

8. java.lang.FileNotFoundException

 檔案未找到異常

當程式試圖開啟一個不存在的檔案進行讀寫時將會引發該異常。該異常由FileInputStream,FileOutputStream,RandomAccessFile的構造器聲明拋出

即使被操作的檔案存在,但是由於某些原因不可訪問,比如開啟一個唯讀檔案進行寫入,這些構造方法仍然會引發異常

9. java.lang.ArrayStoreException

 數組儲存異常

 當試圖將類型不相容類型的對象存入一個Object[]數組時將引發異常

                          Object[] obj = new String[3];

                          obj[0] = new Integer(0);

10. java.lang.NoSuchMethodException

方法不存在異常

當程式試圖通過反射來建立對象,訪問(修改或讀取)某個方法,但是該方法不存在就會引發異常

11. java.lang.EOFException

檔案已結束異常

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

12. java.lang.InstantiationException

執行個體化異常

當試圖通過Class的newInstance()方法建立某個類的執行個體,但程式無法通過該構造器來建立該對象時引發

Class對象表示一個抽象類別,介面,數組類,基本類型

該Class表示的類沒有對應的構造器

13:java.lang.InterruptedException

被中止異常

當某個線程處於長時間的等待、休眠或其他暫停狀態,而此時其他的線程通過Thread的interrupt方法終止該線程時拋出該異常。 

14:java.lang.OutOfMemoryException
記憶體不足錯誤

當可用記憶體不足以讓Java虛擬機器分配給一個對象時拋出該錯誤。

15:java.io.NotSerializableException

無法序列化異常

一般需要序列化某個對象的時候,因為某個對象沒有實現Serializable介面而導致該對象無法序列化所報的異常。

Java常見異常總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.