1. 程式人生 > >Java 中的異常處理機制的簡單原理和應用

Java 中的異常處理機制的簡單原理和應用

異常是指 java 程式執行時(非編譯)所發生的非正常情況或錯誤,與現實生活中的事件很 相似,現實生活中的事件可以包含事件發生的時間、地點、人物、情節等資訊,可以用一個 物件來表示,Java 使用面向物件的方式來處理異常,它把程式中發生的每個異常也都分別封 裝到一個物件來表示的,該物件中包含有異常的資訊。 Java 對異常進行了分類,不同型別的異常分別用不同的 Java 類表示,所有異常的根類為 java.lang.Throwable,Throwable 下面又派生了兩個子類:Error 和 Exception,Error 表示應 用程式本身無法克服和恢復的一種嚴重問題,程式只有死的份了,例如,說記憶體溢位和執行緒 死鎖等系統問題。Exception 表示程式還能夠克服和恢復的問題,其中又分為系統異常和普 通異常,系統異常是軟體本身缺陷所導致的問題,也就是軟體開發人員考慮不周所導致的問 題,軟體使用者無法克服和恢復這種問題,但在這種問題下還可以讓軟體系統繼續執行或者 讓軟體死掉,例如,陣列指令碼越界(ArrayIndexOutOfBoundsException),空指標異常 (NullPointerException)、類轉換異常(ClassCastException);普通異常是執行環境的變化或 異常所導致的問題,是使用者能夠克服的問題,例如,網路斷線,硬碟空間不夠,發生這樣的 異常後,程式不應該死掉。 java 為系統異常和普通異常提供了不同的解決方案,編譯器強制普通異常必須 try..catch 處 理或用 throws 宣告繼續拋給上層呼叫方法處理,所以普通異常也稱為 checked 異常,而系統 異常可以處理也可以不處理,所以,編譯器不強制用 try..catch 處理或用 throws 宣告,所以 系統異常也稱為 unchecked 異常。 提示答題者:就按照三個級別去思考:虛擬機器必須宕機的錯誤,程式可以死掉也可以不死掉 的錯誤,程式不應該死掉的錯誤;