Java常見異常

來源:互聯網
上載者:User

標籤:ring   構造方法   dex   link   依賴   run   編譯   .class   之間   

  在Java中提供了一些異常用來描述經常發生的錯誤,對於這些異常,有的需要程式員進行捕獲處理或聲明拋出,有的是由Java虛擬機器自動進行捕獲處理。Java中常見的異常類如下表:

異 常 類

說  明

ClassCastException

類型轉換異常類

ClassNotFoundException

未找到相應的類

ArithmeticException

算術異常

ArrayIndexOutOfBoundsException

數組下標越界異常

ArrayStoreException

數組中包含不相容的值而拋出異常

SQLException

操作資料庫異常

NullPointerException

null 指標異常

NoSuchFieldException

欄位未找到異常

NoSuchMethodException

方法未找到拋出的異常

NumberFormatException

字串轉換為數字拋出的異常

NegativeArraySizeException

數組元素的個數為負數時拋出的異常

StringIndexOutOfBoundsException

字串索引超出範圍拋出的異常

IOException

輸入輸出異常

IllegalAccessException

不允許訪問某個類

InstantiationException

當應用程式試圖使用Class類中的newInstance()方法建立一個類的執行個體,而指定的類對象無法被執行個體化時拋出的異常

EOFException

檔案已結束異常

FileNotFoundException

檔案未找到異常

 算術異常類:ArithmeticExecption
 null 指標異常類:NullPointerException
  類型強制轉換異常:ClassCastException
  數組負下標異常:NegativeArrayException
  數組下標越界異常:ArrayIndexOutOfBoundsException
  違背安全原則異常:SecturityException
  檔案已結束異常:EOFException
  檔案未找到異常:FileNotFoundException
  字串轉換為數字異常:NumberFormatException
  操作資料庫異常:SQLException
  輸入輸出異常:IOException
  方法未找到異常:NoSuchMethodException
  java.lang.AbstractMethodError
  抽象方法錯誤。當應用試圖調用抽象方法時拋出。
  java.lang.AssertionError
  斷言錯。用來指示一個宣告失敗的情況。
  java.lang.ClassCircularityError
  類循環相依性錯誤。在初始化一個類時,若檢測到類之間循環相依性則拋出該異常。
  java.lang.ClassFormatError
  類格式錯誤。當Java虛擬機器試圖從一個檔案中讀取Java類,而檢測到該檔案的內容不符合類的有效格式時拋出。
  java.lang.Error
  錯誤。是所有錯誤的基類,用於標識嚴重的程式運行問題。這些問題通常描述一些不應被應用程式捕獲的反常情況。
  java.lang.ExceptionInInitializerError
  初始化程式錯誤。當執行一個類的靜態初始化程式的過程中,發生了異常時拋出。靜態初始化程式是指直接包含於類中的static語句段。
  java.lang.IllegalAccessError
  違法訪問錯誤。當一個應用試圖訪問、修改某個類的域(Field)或者調用其方法,但是又違反域或方法的可見度聲明,則拋出該異常。
  java.lang.IncompatibleClassChangeError
  不相容的類變化錯誤。當正在執行的方法所依賴的類定義發生了不相容的改變時,拋出該異常。一般在修改了應用中的某些類的聲明定義而沒有對整個應用重新編譯而直接啟動並執行情況下,容易引發該錯誤。
  java.lang.InstantiationError
  執行個體化錯誤。當一個應用試圖通過Java的new操作符構造一個抽象類別或者介面時拋出該異常.
  java.lang.InternalError
  內部錯誤。用於指示Java虛擬機器發生了內部錯誤。
java.lang.LinkageError
  連結錯誤。該錯誤及其所有子類指示某個類依賴於另外一些類,在該類編譯之後,被依賴的類改變了其類定義而沒有重新編譯所有的類,進而引發錯誤的情況。
  java.lang.NoClassDefFoundError
  未找到類定義錯誤。當Java虛擬機器或者類裝載器試圖執行個體化某個類,而找不到該類的定義時拋出該錯誤。
  java.lang.NoSuchFieldError
  域不存在錯誤。當應用試圖訪問或者修改某類的某個域,而該類的定義中沒有該域的定義時拋出該錯誤。
  java.lang.NoSuchMethodError
  方法不存在錯誤。當應用試圖調用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。
  java.lang.OutOfMemoryError
  記憶體不足錯誤。當可用記憶體不足以讓Java虛擬機器分配給一個對象時拋出該錯誤。
  java.lang.StackOverflowError
  堆疊溢位錯誤。當一個應用遞迴調用的層次太深而導致堆疊溢位時拋出該錯誤。
  java.lang.ThreadDeath
  線程結束。當調用Thread類的stop方法時拋出該錯誤,用於指示線程結束。
  java.lang.UnknownError
  未知錯誤。用於指示Java虛擬機器發生了未知嚴重錯誤的情況。
  java.lang.UnsatisfiedLinkError
  未滿足的連結錯誤。當Java虛擬機器未找到某個類的聲明為native方法的母語定義時拋出。
  java.lang.UnsupportedClassVersionError
  不支援的類版本錯誤。當Java虛擬機器試圖從讀取某個類檔案,但是發現該檔案的主、次版本號碼不被當前Java虛擬機器支援的時候,拋出該錯誤。
  java.lang.VerifyError
  驗證錯誤。當驗證器檢測到某個類檔案中存在內部不相容或者安全問題時拋出該錯誤。
  java.lang.VirtualMachineError
  虛擬機器錯誤。用於指示虛擬機器被破壞或者繼續執行操作所需的資源不足的情況。
  java.lang.ArithmeticException
  算術條件異常。譬如:整數除零等。
  java.lang.ArrayIndexOutOfBoundsException
  數組索引越界異常。當對數組的索引值為負數或大於等於數組大小時拋出。
  java.lang.ArrayStoreException
  數組儲存異常。當向數組中存放非數組宣告類型對象時拋出。
  java.lang.ClassCastException
  類造型異常。假設有類A和B(A不是B的父類或子類),O是A的執行個體,那麼當強制將O構造為類B的執行個體時拋出該異常。該異常經常被稱為強制類型轉換異常。
  java.lang.ClassNotFoundException
  找不到類異常。當應用試圖根據字串形式的類名構造類,而在遍曆CLASSPAH之後找不到對應名稱的class檔案時,拋出該異常。
  java.lang.CloneNotSupportedException
  不支援複製異常。當沒有實現Cloneable介面或者不支援複製方法時,調用其clone()方法則拋出該異常。
  java.lang.EnumConstantNotPresentException
  枚舉常量不存在異常。當應用試圖通過名稱和枚舉類型訪問一個枚舉對象,但該枚舉對象並不包含常量時,拋出該異常。
  java.lang.Exception
  根異常。用以描述應用程式希望捕獲的情況。
  java.lang.IllegalAccessException
  違法的訪問異常。當應用試圖通過反射方式建立某個類的執行個體、訪問該類屬性、調用該類方法,而當時又無法訪問類的、屬性的、方法的或構造方法的定義時拋出該異常。
  java.lang.IllegalMonitorStateException
  違法的監控狀態異常。當某個線程試圖等待一個自己並不擁有的對象(O)的監控器或者通知其他線程等待該對象(O)的監控器時,拋出該異常。
  java.lang.IllegalStateException
  違法的狀態異常。當在Java環境和應用尚未處於某個方法的合法調用狀態,而調用了該方法時,拋出該異常。
  java.lang.IllegalThreadStateException
  違法的線程狀態異常。當縣城尚未處於某個方法的合法調用狀態,而調用了該方法時,拋出異常。
  java.lang.IndexOutOfBoundsException
  索引越界異常。當訪問某個序列的索引值小於0或大於等於序列大小時,拋出該異常。
 java.lang.InstantiationException
  執行個體化異常。當試圖通過newInstance()方法建立某個類的執行個體,而該類是一個抽象類別或介面時,拋出該異常。
  java.lang.InterruptedException
  被中止異常。當某個線程處於長時間的等待、休眠或其他暫停狀態,而此時其他的線程通過Thread的interrupt方法終止該線程時拋出該異常。
  java.lang.NegativeArraySizeException
  數組大小為負值異常。當使用負數大小值建立數組時拋出該異常。
  java.lang.NoSuchFieldException
  屬性不存在異常。當訪問某個類的不存在的屬性時拋出該異常。
  java.lang.NoSuchMethodException
  方法不存在異常。當訪問某個類的不存在的方法時拋出該異常。
  java.lang.NullPointerException
  null 指標異常。當應用試圖在要求使用對象的地方使用了null時,拋出該異常。譬如:調用null對象的執行個體方法、訪問null對象的屬性、計算null對象的長度、使用throw語句拋出null等等。
  java.lang.NumberFormatException
  數字格式異常。當試圖將一個String轉換為指定的數字類型,而該字串確不滿足數字類型要求的格式時,拋出該異常。
  java.lang.RuntimeException
  運行時異常。是所有Java虛擬機器正常操作期間可以被拋出的異常的父類。
  java.lang.SecurityException
  安全異常。由安全管理器拋出,用於指示違反安全情況的異常。
  java.lang.StringIndexOutOfBoundsException
  字串索引越界異常。當使用索引值訪問某個字串中的字元,而該索引值小於0或大於等於序列大小時,拋出該異常。
  java.lang.TypeNotPresentException
  類型不存在異常。當應用試圖以某個類型名稱的字串表達方式訪問該類型,但是根據給定的名稱又找不到該類型是拋出該異常。該異常與ClassNotFoundException的區別在於該異常是unchecked(不被檢查)異常,而ClassNotFoundException是checked(被檢查)異常。
  java.lang.UnsupportedOperationException
  不支援的方法異常。指明請求的方法不被支援情況的異常。
  異常
  javax.servlet.jsp.JspException: Cannot retrieve mapping for action /Login (/Login是你的action名字)
  可能原因
  action沒有再struts-config.xml 中定義,或沒有找到匹配的action,例如在JSP檔案中使用 

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.