JAVA--異常機制(Exception)

異常機制

Exception

什麼是異常

異常機制可以使異常處理代碼與正常業務代碼分離開來,提高程序的容錯性和穩定性。


異常機制常用的關鍵字

try 、catch 、finally 、throw 、throws

  • try:try{}塊中放入可能出現異常的代碼
  • catch:catch(){}塊中捕獲可能出現的異常
  • finally:finally{}塊可有可無,無論是否出現異常都會執行塊內代碼
  • throw:用於拋出異常
  • throws:用於在方法入口聲明可能出現的異常類型
public class LearnException {
	public static void main(String[] args) {
		try {
			//try塊內放入可能會出現異常的代碼
			learn();
			//出現異常代碼之後的代碼不會執行
			System.out.println("出現了異常後的代碼");
		} catch (Exception e) {
			//catch塊會捕獲異常並進行處理
			e.printStackTrace();
		} finally {
		    //finally塊常用來回收資源
		    //如數據庫鏈接、IO流和網絡鏈接等
			System.out.println("運行到了finally");
		}
	}
	
	//使用throws聲明異常,throw拋出異常
	public static void learn() throws Exception {
		//拋出一個異常
		throw new Exception("方法內出現了異常了");
		
	}
	
	/*運行結果:
	 * 
	 * java.lang.Exception: 方法內出現了異常了
	   at 異常.LearnException.learn(LearnException.java:22)
	   at 異常.LearnException.main(LearnException.java:7)
	        運行到了finally*/
}

異常類繼承關係

異常關係

  • Error:錯誤,這種錯誤無法恢復或不可能捕獲,一旦發生,程序將終止運行。
  • Exception:異常,可以進行捕獲,發生時程序不會終止運行。

在捕獲異常是,一定要先捕獲範圍小的異常,再捕獲範圍大的異常。

訪問異常信息的常用方法

  • String getMessage():獲取異常的詳細描述字符串。
  • void printStackTrace():將異常跟蹤棧信息輸出到標準錯誤輸出。
  • StackTraceElement[] getStackTrace():獲取異常的跟蹤棧信息。

自定義異常

繼承Exception類並提供構造方法

public class CreateException extends Exception {
	//無參構造方法
	public CreateException() {
		
	}
	//帶參構造方法
	public CreateException(String msg) {
		System.out.println("我是一個自定義異常");
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章