天天看點

Java千百問_04異常處理(008)_java中常見的錯誤有哪些

錯誤。是所有錯誤的基類,用于辨別嚴重的程式運作問題。這些問題通常描述一些不應被應用程式捕獲的反常情況。 

原因:

對系統所通路外部資源,未執行關閉操作,導緻外部資源大量浪費,最終可-能導緻系統無法正常運作;

對系統所通路的外部資源關閉次數太多,外部系統無法正常處理;

系統通路的外部資源出現異常情況。

解決方案:

通路外部資源前,首先檢查該資源(如資料庫)是否可正常連接配接或操作。

通路外部資源時,如果進行了連接配接,一定進行關閉操作,并僅進行一次關閉操作。

盡量在同一操作中共享外部資源,以減少該操作對資源的消費,提高程式的執行效率。

抽象方法錯誤。當應用試圖調用抽象方法時抛出。

斷言錯。用來訓示一個斷言失敗的情況。

類循環依賴錯誤。在初始化一個類時,若檢測到類之間循環依賴則抛出該異常。

類格式錯誤。當java虛拟機試圖從一個檔案中讀取java類,而檢測到該檔案的内容不符合類的有效格式時抛出。

初始化程式錯誤。當執行一個類的靜态初始化程式的過程中,發生了異常時抛出。靜态初始化程式是指直接包含于類中的static語句段。

違法通路錯誤。當一個應用試圖通路、修改某個類的域(field)或者調用其方法,但是又違反域或方法的可見性聲明,則抛出該異常。

不相容的類變化錯誤。當正在執行的方法所依賴的類定義發生了不相容的改變時,抛出該異常。一般在修改了應用中的某些類的聲明定義而沒有對整個應用重新編譯而直接運作的情況下,容易引發該錯誤。

執行個體化錯誤。當一個應用試圖通過java的new操作符構造一個抽象類或者接口時抛出該異常.

内部錯誤。用于訓示java虛拟機發生了内部錯誤。

連結錯誤。該錯誤及其所有子類訓示某個類依賴于另外一些類,在該類編譯之後,被依賴的類改變了其類定義而沒有重新編譯所有的類,進而引發錯誤的情況。

未找到類定義錯誤。當java虛拟機或者類裝載器試圖執行個體化某個類,而找不到該類的定義時抛出該錯誤。

域不存在錯誤。當應用試圖通路或者修改某類的某個域,而該類的定義中沒有該域的定義時抛出該錯誤。

方法不存在錯誤。當應用試圖調用某類的某個方法,而該類的定義中沒有該方法的定義時抛出該錯誤。

記憶體不足錯誤。當可用記憶體不足以讓java虛拟機配置設定給一個對象時抛出該錯誤。

堆棧溢出錯誤。當一個應用遞歸調用的層次太深而導緻堆棧溢出時抛出該錯誤。

線程結束。當調用thread類的stop方法時抛出該錯誤,用于訓示線程結束。

未知錯誤。用于訓示java虛拟機發生了未知嚴重錯誤的情況。

未滿足的連結錯誤。當java虛拟機未找到某個類的聲明為native方法的本機語言定義時抛出。

不支援的類版本錯誤。當java虛拟機試圖從讀取某個類檔案,但是發現該檔案的主、次版本号不被目前java虛拟機支援的時候,抛出該錯誤。

驗證錯誤。當驗證器檢測到某個類檔案中存在内部不相容或者安全問題時抛出該錯誤。

虛拟機錯誤。用于訓示虛拟機被破壞或者繼續執行操作所需的資源不足的情況。

原文位址:http://blog.csdn.net/ooppookid/article/details/51145928