隨筆 - 24  文章 - 0  trackbacks - 0
          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          NO.1 java.lang.NullPointerException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.lang.RuntimeException
                  java.lang.NullPointerException

            這個(gè)異常的解釋是 "程序遇上了空指針 ",簡(jiǎn)單地說就是調(diào)用了未經(jīng)初始化的對(duì)象或者是不存在的對(duì)象,對(duì)數(shù)組操作中出現(xiàn)空指針,很
          多情況下是一些剛開始學(xué)習(xí)編程的朋友常犯的錯(cuò)誤,即把數(shù)組的初始化和數(shù)組元素的初始化混淆起來了。數(shù)組的初始化是對(duì)數(shù)組分配需要的
          空間,而初始化后的數(shù)組,其中的元素并沒有實(shí)例化,依然是空的,所以還需要對(duì)每個(gè)元素都進(jìn)行初始化(如果要調(diào)用的話)
          當(dāng)應(yīng)用程序試圖在需要對(duì)象的地方使用 null 時(shí),拋出該異常。這種情況包括:
          調(diào)用 null 對(duì)象的實(shí)例方法。
          訪問或修改 null 對(duì)象的字段。
          將 null 作為一個(gè)數(shù)組,獲得其長(zhǎng)度。
          將 null 作為一個(gè)數(shù)組,訪問或修改其時(shí)間片。
          將 null 作為 Throwable 值拋出。
          應(yīng)用程序應(yīng)該拋出該類的實(shí)例,指示其他對(duì) null 對(duì)象的非法使用。


          NO.2 java.lang.ClassNotFoundException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.lang.ClassNotFoundException

            這個(gè)異常的解釋是 "指定的類不存在 ",這里主要考慮一下類的名稱和路徑是否正確即可.
          當(dāng)應(yīng)用程序試圖使用以下方法通過字符串名加載類時(shí),拋出該異常:
          Class 類中的 forName 方法。
          ClassLoader 類中的 findSystemClass 方法。
          ClassLoader 類中的 loadClass 方法。
          但是沒有找到具有指定名稱的類的定義。


          NO.3 java.lang.ArithmeticException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.lang.RuntimeException
                  java.lang.ArithmeticException

          當(dāng)出現(xiàn)異常的運(yùn)算條件時(shí),拋出此異常。
            這個(gè)異常的解釋是 "數(shù)學(xué)運(yùn)算異常 ",比如程序中出現(xiàn)了除以零這樣的運(yùn)算就會(huì)出這樣的異常,對(duì)這種異常,大家就要好好檢查一下自
          己程序中涉及到數(shù)學(xué)運(yùn)算的地方,公式是不是有不妥了。


          NO.4 java.lang.ArrayIndexOutOfBoundsException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.lang.RuntimeException
                  java.lang.IndexOutOfBoundsException
               java.lang.ArrayIndexOutOfBoundsException

            這個(gè)異常的解釋是 "數(shù)組下標(biāo)越界 ",現(xiàn)在程序中大多都有對(duì)數(shù)組的操作,因此在調(diào)用數(shù)組的時(shí)候一
          定要認(rèn)真檢查,看自己調(diào)用的下標(biāo)是不是超出了數(shù)組的范圍,一般來說,顯示(即直接用常數(shù)當(dāng)下標(biāo))調(diào)用不太容易出這樣的錯(cuò),但隱式(
          即用變量表示下標(biāo))調(diào)用就經(jīng)常出錯(cuò)了,還有一種情況,是程序中定義的數(shù)組的長(zhǎng)度是通過某些特定方法決定的,不是事先聲明的,這個(gè)時(shí)
          候,最好先查看一下數(shù)組的length,以免出現(xiàn)這個(gè)異常。
          用非法索引訪問數(shù)組時(shí)拋出的異常。如果索引為負(fù)或大于等于數(shù)組大小,則該索引為非法索引。


          NO.5 java.lang.IllegalArgumentException
                java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.lang.RuntimeException
                  java.lang.IllegalArgumentException


              拋出的異常表明向方法傳遞了一個(gè)不合法或不正確的參數(shù)。
            這個(gè)異常的解釋是 "方法的參數(shù)錯(cuò)誤 ",很多J2ME的類庫中的方法在一些情況下都會(huì)引發(fā)這樣的錯(cuò)誤,比如音量調(diào)節(jié)方法中的音量參數(shù)
          如果寫成負(fù)數(shù)就會(huì)出現(xiàn)這個(gè)異常,再比如 g.setColor(int red,int green,int blue)這個(gè)方法中的三個(gè)值,如果有超過255的也會(huì)出現(xiàn)
          這個(gè)異常,因此一旦發(fā)現(xiàn)這個(gè)異常,我們要做的,就是趕緊去檢查一下方法調(diào)用中的參數(shù)傳遞是不是出現(xiàn)了錯(cuò)誤。


          NO.6 java.lang.IllegalAccessException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.lang.IllegalAccessException

            這個(gè)異常的解釋是 "沒有訪問權(quán)限 ",當(dāng)應(yīng)用程序要調(diào)用一個(gè)類,但當(dāng)前的方法即沒有對(duì)該類的訪問權(quán)限便會(huì)出現(xiàn)這個(gè)異常。對(duì)程序中
          用了Package的情況下要注意這個(gè)異常。
          當(dāng)應(yīng)用程序試圖創(chuàng)建一個(gè)實(shí)例(而不是數(shù)組)、設(shè)置或獲取一個(gè)字段,或者調(diào)用一個(gè)方法,但當(dāng)前正在執(zhí)行的方法無法訪問指定類、字段、
          方法或構(gòu)造方法的定義時(shí),拋出 IllegalAccessException。


          NO.7 java.lang.IncompatibleClassChangeError
          java.lang.Object
             java.lang.Throwable
                 java.lang.Error
              java.lang.LinkageError
                  java.lang.IncompatibleClassChangeError

          不兼容的類變化錯(cuò)誤。當(dāng)正在執(zhí)行的方法所依賴的類定義發(fā)生了不兼容的改變時(shí),拋出該異常。一般在修改了應(yīng)用中的某些類的聲明定義而
          沒有對(duì)整個(gè)應(yīng)用重新編譯而直接運(yùn)行的情況下,容易引發(fā)該錯(cuò)誤。
          在某些類定義中出現(xiàn)不兼容的類更改時(shí)拋出該異常。某些目前執(zhí)行的方法所依賴的類定義已發(fā)生了變化。


          NO.8 java.lang.InstantiationError
          java.lang.Object
             java.lang.Throwable
                 java.lang.Error
              java.lang.LinkageError
                  java.lang.IncompatibleClassChangeError
               java.lang.InstantiationError

          實(shí)例化錯(cuò)誤。當(dāng)一個(gè)應(yīng)用試圖通過Java的new操作符構(gòu)造一個(gè)抽象類或者接口時(shí)拋出該異常.
          通常由編譯器捕獲此錯(cuò)誤;如果類定義中存在不兼容的更改,則此錯(cuò)誤將只可能在運(yùn)行時(shí)發(fā)生。


          NO.9 java.lang.LinkageError
          java.lang.Object
             java.lang.Throwable
                 java.lang.Error
              java.lang.LinkageError

          鏈接錯(cuò)誤。該錯(cuò)誤及其所有子類指示某個(gè)類依賴于另外一些類,在該類編譯之后,被依賴的類改變了其類定義而沒有重新編譯所有的類,進(jìn)
          而引發(fā)錯(cuò)誤的情況。
          LinkageError 的子類指示一個(gè)類在一定程度上依賴于另一個(gè)類;但是,在編譯前一個(gè)類之后,后一個(gè)類發(fā)生了不相容的改變。


          NO.10 java.lang.StackOverflowError
          java.lang.Object
             java.lang.Throwable
                 java.lang.Error
              java.lang.VirtualMachineError
                  java.lang.StackOverflowError

          堆棧溢出錯(cuò)誤。當(dāng)一個(gè)應(yīng)用遞歸調(diào)用的層次太深而導(dǎo)致堆棧溢出時(shí)拋出該錯(cuò)誤。


          NO.11 java.lang.Exception
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception

          Exception 類及其子類是 Throwable 的一種形式,它指出了合理的應(yīng)用程序想要捕獲的條件。 (異常層次結(jié)構(gòu)的根類)


          NO.12 java.lang.RuntimeException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.lang.RuntimeException

          RuntimeException 是那些可能在 Java 虛擬機(jī)正常運(yùn)行期間拋出的異常的超類。可能在執(zhí)行方法期間拋出但未被捕獲的 RuntimeException
          的任何子類都無需在 throws 子句中進(jìn)行聲明。 (java.lang中異常的基類)


          NO.13 java.util.InputMismatchException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.lang.RuntimeException
                  java.util.NoSuchElementException
               java.util.InputMismatchException

          由 Scanner 拋出,表明用于檢索的標(biāo)記與期望類型的模式不匹配,或者該標(biāo)記處在期望類型的范圍之外。


          NO.14 java.io.IOException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.io.IOException

          當(dāng)發(fā)生某種 I/O 異常時(shí),拋出此異常。此類為異常的通用類,它是由失敗的或中斷的 I/O 操作生成的。


          NO.15 java.io.FileNotFoundException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.io.IOException
                  java.io.FileNotFoundException

          當(dāng)試圖打開指定路徑名表示的文件失敗時(shí),拋出此異常。
          在不存在具有指定路徑名的文件時(shí),此異常將由 FileInputStream、FileOutputStream 和 RandomAccessFile 構(gòu)造方法拋出。
          如果該文件存在,但是由于某些原因不可訪問,比如試圖打開一個(gè)只讀文件進(jìn)行寫入,此時(shí)這些構(gòu)造方法仍然會(huì)拋出該異常。


          NO.16 java.io.EOFException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.io.IOException
                  java.io.EOFException

          當(dāng)輸入過程中意外到達(dá)文件或流的末尾時(shí),拋出此異常。
          此異常主要被數(shù)據(jù)輸入流用來表明到達(dá)流的末尾。注意,其他許多輸入操作返回一個(gè)特殊值表示到達(dá)流的末尾,而不是拋出異常。


          NO.17 java.lang.InterruptedException
          java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.lang.InterruptedException

          當(dāng)線程在很長(zhǎng)一段時(shí)間內(nèi)一直處于正在等待、休眠或暫停狀態(tài),而另一個(gè)線程用 Thread 類中的 iterrupt 方法中斷它時(shí),拋出該異常。


          NO.18 java.lang.NumberFormatException
                java.lang.Object
             java.lang.Throwable
                 java.lang.Exception
              java.lang.RuntimeException
                  java.lang.IllegalArgumentException
               java.lang.NumberFormatException


          當(dāng)應(yīng)用程序試圖將字符串轉(zhuǎn)換成一種數(shù)值類型,但該字符串不能轉(zhuǎn)換為適當(dāng)格式時(shí),拋出該異常。

          posted on 2010-12-17 22:51 馮占科 閱讀(220) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宁国市| 石嘴山市| 黄平县| 广水市| 饶平县| 苏尼特左旗| 嘉善县| 资源县| 海伦市| 洛川县| 大田县| 曲麻莱县| 荃湾区| 三门县| 淮阳县| 宜宾县| 潮安县| 大足县| 东莞市| 菏泽市| 巴南区| 衡阳县| 玉山县| 蛟河市| 虹口区| 临汾市| 宝清县| 府谷县| 太和县| 鄂托克旗| 澜沧| 秦安县| 南川市| 澳门| 西乌珠穆沁旗| 东海县| 潍坊市| 潮州市| 石渠县| 桃园市| 吴江市|