本篇內容重點介紹JAVA中的異常處理機制,什么是JAVA異常?JAVA異常是JAVA提供的用于處理程序中錯誤的一種機制。所謂錯誤就是指在程序的運行過程中出現的一些異常事件(如:0溢出,數組下表越界,所讀取的文件不存在......)。
JAVA程序的執行過程中如出現異常事件,可以生成一個異常類對象,該異常對象封裝了異常事件的信息并將被提交給JAVA運行時系統,這個過程被稱為拋出(throw)異常。當JAVA運行時系統接收到異常對象時,會尋找能處理這一異常的代碼,并把當前對象交給其處理,這個過程稱為捕獲(catch)異常。
JAVA SDK定義了很多異常,大致分為:Error——錯誤,由JAVA虛擬機生成并拋出,包括:動態鏈接失敗、虛擬機錯誤,程序對其不做任何操作。Exception——所有異常類的父類,其子類對應這各種各樣可能出現的異常事件,一般需要用戶顯式的聲明和捕獲。RuntimeException——運行時錯誤,一類特殊的異常,如被0除,數組下標越界等,這類異常產生比較頻繁,處理麻煩,如果顯式的聲明和捕獲將對程序的可讀性和運行效率影響很大。因此由系統自動檢測,并將他們交給缺省的異常處理程序(用戶不必對其處理)。
1、異常的捕獲和處理:
JAVA對異常的捕獲和處理使用try和catch關鍵字。try代碼段包含可能產生例外的代碼;try代碼段后跟一個或多個catch代碼段;每個catch代碼段聲明其能處理的一種特定類型的異常,并提供處理方法;當異常發生時,程序會中止當前的流程,根據捕獲的異常類型去執行相應的catch代碼段;finally段的代碼無論是否發生異常均會被處理。
2、異常的捕獲和處理:
public class Test { /** * @param 異常的捕獲和處理 */ PRivate static FileInputStream input; public static void main(String[] args) throws FileNotFoundException { try {//捕獲異常 input = new FileInputStream("test.java"); int a = input.read(); while(a!=-1){ System.out.println((char)a); a = input.read(); } } catch (IOException e) { e.printStackTrace(); System.out.println("系統出現異常"); }finally{ System.out.println("關閉程序"); } }}對于異常的處理和捕獲就為大家總結這些,如果大家有什么想法,歡迎留言補充,一起交流共同進步。
新聞熱點
疑難解答