<abbr id="ciwa6"><option id="ciwa6"></option></abbr>
  • <sup id="ciwa6"><kbd id="ciwa6"></kbd></sup>
    <small id="ciwa6"></small>
  • 千鋒教育-做有情懷、有良心、有品質的IT職業教育機構

    你所在的位置:首頁 > 常見問題

    Java常見異常總結

    時間:2017-12-11 15:16:56 來源:千鋒教育  作者:千鋒

       1、java.lang.NullPointerException(空指針異常)

      調用了未經初始化的對象或者是不存在的對象

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

      即把數組的初始化和數組元素的初始化混淆起來了。數組的初始化是對數組分配需要的空間,而初始化后的數組,其中的元素并沒有實例化,

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

      2、 java.lang.ClassNotFoundException

      指定的類不存在

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

      比如:調用Class.forName();

      3、 java.lang.NumberFormatException

      字符串轉換為數字異常

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

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

      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);

      1234

      11、java.lang.NoSuchMethodException

      方法不存在異常

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

      12、 java.lang.NoSuchFiledException

      方法不存在異常

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

      13、 java.lang.EOFException

      文件已結束異常

      當程序在輸入的過程中遇到文件或流的結尾時,引發異常。因此該異常用于檢查是否達到文件或流的結尾

      14、java.lang.InstantiationException

      實例化異常

      當試圖通過Class的newInstance()方法創建某個類的實例,但程序無法通過該構造器來創建該對象時引發

      Class對象表示一個抽象類,接口,數組類,基本類型

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

      15、java.lang.InterruptedException

      被中止異常

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

      16、java.lang.CloneNotSupportedException

      不支持克隆異常

      當沒有實現Cloneable接口或者不支持克隆方法時,調用其clone()方法則拋出該異常。

      17、java.lang.OutOfMemoryException

      內存不足錯誤

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

      18、java.lang.NoClassDefFoundException

      未找到類定義錯誤

      當Java虛擬機或者類裝載器試圖實例化某個類,而找不到該類的定義時拋出該錯誤。

      違背安全原則異常:SecturityException

      操作數據庫異常:SQLException

      輸入輸出異常:IOException

      通信異常:SocketException

    熱帖推薦

    • 成都地址:成都市武侯區科華北路62號力寶大廈N(北樓)18樓
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓、UI課程培訓
    • 北京天豐利校區:北京市海淀區寶盛北里西區28號天豐利商城4層
      北京沙河校區:北京市昌平區沙陽路18號北京科技職業技術廣場服務樓2層、南區服務樓2層
      咨詢電話:400-654-7778 010-82790226-801
      面授課程:iOS培訓、Android培訓、HTML5培訓、UI培訓、PHP培訓、JavaEE培訓、好程序員
    • 深圳科技園校區:深圳市南山區科苑南路高新技術產業園R3-B棟5層
      深圳大學城校區:深圳市南山區留仙大道1201號大學城創客小鎮16棟2樓、3樓
      深圳西部硅谷校區:深圳市寶安區寶安大道5010號西部硅谷B座A605-619
      咨詢電話:0755-86681178/9-801
      面授課程:iOS培訓、Android培訓、HTML5培訓、UI培訓、PHP培訓、JavaEE培訓、好程序員
    • 上海地址:上海市寶山區同濟支路199號智慧七立方3號樓2-4層
      咨詢電話:400-627-7899 021-65025129-602
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓、好程序員
    • 鄭州地址:鄭州市金水區緯五路21號河南教育綜合樓(經緯中學樓)6/7/8層
      咨詢電話:0371-55911950 400-654-7778
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓、UI課程培訓
    • 廣州地址:廣州市天河區元崗路310號智匯park創意園E座5層
      咨詢電話:020-22119207 400-654-7778
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓
    • 大連地址:大連市甘井子區軟件園路2號B8座二樓
      咨詢電話:0411-39026086 400-654-7778
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓
    • 武漢地址:武漢市東新區光谷大道77號金融港B26棟9樓
      咨詢電話:027-59905909 027-59905908 027-59905902
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓
    • 西安南二環校區:西安市二環南路西段60號永安大廈4層
      西安科技園校區:西安市雁塔區高新六路52號立人科技園C座西區4層
      咨詢電話:029-85260160 029-85261030 029-85260960
      面授課程:iOS課程培訓、Android課程培訓、HTML5課程培訓
    • 杭州地址:浙江省杭州市江干區九堡旺田書畫城A座4層
      咨詢電話:0571-86893632 010-82790226-801
      面授課程:iOS課程培訓、Android課程培訓
    • 青島校區地址:青島市市南區金壇路17號青島職業技術南校區實訓樓A4層
      咨詢電話:0532-80910752/3 010-82790226-801
      面授課程:iOS課程培訓、Android課程培訓
    • 掃碼匿名提建議
      直達CEO信箱