• <strike id="6sogq"><s id="6sogq"></s></strike>
  • <strike id="6sogq"></strike>

    千鋒教育-做有情懷、有良心、有品質(zhì)的IT職業(yè)教育機構(gòu)

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

    Java常見異常總結(jié)

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

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

      調(diào)用了未經(jīng)初始化的對象或者是不存在的對象

      經(jīng)常出現(xiàn)在創(chuàng)建圖片,調(diào)用數(shù)組這些操作中,比如圖片未經(jīng)初始化,或者圖片創(chuàng)建時的路徑錯誤等等。對數(shù)組操作中出現(xiàn)空指針,

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

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

      2、 java.lang.ClassNotFoundException

      指定的類不存在

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

      比如:調(diào)用Class.forName();

      3、 java.lang.NumberFormatException

      字符串轉(zhuǎn)換為數(shù)字異常

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

      但是如果字符型數(shù)據(jù)中包含了非數(shù)字型的字符,如123#56,此時轉(zhuǎn)換為數(shù)值型時就會出現(xiàn)異常。系統(tǒng)就會捕捉到這個異常,并進行處理.

      4、java.lang.IndexOutOfBoundsException

      數(shù)組下標越界異常

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

      5、java.lang.IllegalArgumentException

      方法的參數(shù)錯誤

      比如g.setColor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現(xiàn)這個異常,因此一旦發(fā)現(xiàn)這個異常,我們要做的,就是趕緊去檢查一下方法調(diào)用中的參數(shù)傳遞是不是出現(xiàn)了錯誤。

      6、java.lang.IllegalAccessException

      沒有訪問權(quán)限

      當應用程序要調(diào)用一個類,但當前的方法即沒有對該類的訪問權(quán)限便會出現(xiàn)這個異常。對程序中用了Package的情況下要注意這個異常

      7、java.lang.ArithmeticException

      數(shù)學運算異常

      當算術(shù)運算中出現(xiàn)了除以零這樣的運算就會出這樣的異常。

      8、java.lang.ClassCastException

      數(shù)據(jù)類型轉(zhuǎn)換異常

      當試圖將對某個對象強制執(zhí)行向下轉(zhuǎn)型,但該對象又不可轉(zhuǎn)換又不可轉(zhuǎn)換為其子類的實例時將引發(fā)該異常,如下列代碼。

      Object obj = new Integer(0);

      String str = obj;

      9、 java.lang.FileNotFoundException

      文件未找到異常

      當程序試圖打開一個不存在的文件進行讀寫時將會引發(fā)該異常。該異常由FileInputStream,FileOutputStream,RandomAccessFile的構(gòu)造器聲明拋出

      即使被操作的文件存在,但是由于某些原因不可訪問,比如打開一個只讀文件進行寫入,這些構(gòu)造方法仍然會引發(fā)異常

      10、java.lang.ArrayStoreException

      數(shù)組存儲異常

      當試圖將類型不兼容類型的對象存入一個Object[]數(shù)組時將引發(fā)異常

      Object[] obj = new String[3];

      obj[0] = new Integer(0);

      1234

      11、java.lang.NoSuchMethodException

      方法不存在異常

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

      12、 java.lang.NoSuchFiledException

      方法不存在異常

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

      13、 java.lang.EOFException

      文件已結(jié)束異常

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

      14、java.lang.InstantiationException

      實例化異常

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

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

      該Class表示的類沒有對應的構(gòu)造器

      15、java.lang.InterruptedException

      被中止異常

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

      16、java.lang.CloneNotSupportedException

      不支持克隆異常

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

      17、java.lang.OutOfMemoryException

      內(nèi)存不足錯誤

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

      18、java.lang.NoClassDefFoundException

      未找到類定義錯誤

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

      違背安全原則異常:SecturityException

      操作數(shù)據(jù)庫異常:SQLException

      輸入輸出異常:IOException

      通信異常:SocketException

    熱帖推薦

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