JAVA異常類Throwable解析


 

 

Java 中,所有的異常都有一個共同的祖先java.lang包中的 Throwable類

Throwable: 有兩個重要的子類:Exception(異常) Error(錯誤) ;二者都是 Java 異常處理的重要子類,各自都包含大量子類。 

      

Error(錯誤):是程序無法處理的錯誤,表示運行應用程序中較嚴重問題。大多數錯誤與代碼編寫者執行的操作無關,而表示代碼運行時 JVM(Java 虛擬機)出現的問題。例如,Java虛擬機運行錯誤(Virtual MachineError),當JVM 不再有繼續執行操作所需的內存資源時,將出現 OutOfMemoryError。這些異常發生時,Java虛擬機(JVM)一般會選擇線程終止。這些錯誤表示故障發生於虛擬機自身.或者發生在虛擬機試圖執行應用時,如Java虛擬機運行錯誤(Virtual MachineError).類定義錯誤(NoClassDefFoundError)等。這些錯誤是不可查的,因為它們在應用程序的控制和處理能力之 外,而且絕大多數是程序運行時不允許出現的狀況。對於設計合理的應用程序來說,即使確實發生了錯誤,本質上也不應該試圖去處理它所引起的異常狀況。在 Java中,錯誤通過Error的子類描述。 

Exception(異常):是程序本身可以處理的異常Exception 類有一個重要的子類RuntimeException。

下面分別介紹一下常見的異常:

NullPointerException:要訪問的變量沒有引用任何對象時,拋出該 異常。

ArithmeticException:算術運算異常,一個整數除以0時,拋出該異常。

ArrayIndexOutOfBoundsException:數組下標越界異常,調用索引值超出被調用數組索引界限,拋出該異常。

FileNotFoundException:文件未找到異常,系統找不到指定的路徑或訪問不到指定的文件,拋出該異常。

MissingResourceException:資源綁定異常,資源不存在或路徑不對導致系統未識別到綁定資源,拋出該異常。

ClassNotFoundException:無法找到指定的類異常,當系統沒有找到具有指定名稱的類時,拋出該異常。

IllegAlargumentException:非法參數異常,當傳入的參數違反了一個方法要求的某些特性時,拋出該異常。

IOException:IO異常,發生在IO流傳輸的途中。

NumberFormatException:字符串轉換為數字異常,當字符串不完全是數字類型時作轉化,拋出該異常。

SQLException:操作數據庫異常。

ClassCastException:類型轉化異常。

 

異常和錯誤的區別:異常能被程序本身可以處理,錯誤是無法處理。

異常處理:

try 塊:用於捕獲異常。其后可接零個或多個catch塊,如果沒有catch塊,則必須跟一個fifinally塊。

catch 塊:用於處理try捕獲到的異常。

finally 塊:無論是否捕獲或處理異常,finally塊里的語句都會被執行。當在try塊或catch塊中遇到return語句時,finally語句塊將在方法返回之前被執行。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM