Throwable類是全部異常類的根。全部的Java異常類都直接或者間接地繼承自Throwable。能夠經過繼承Exception或者Exception的子類來建立本身的異常類。spa
聲明異常3d
在方法頭中使用關鍵字throws,例如code
public void mymethod() throws IOExceptionblog
拋出異常繼承
檢測錯誤的程序能夠建立一個合適發的異常類型的實例並拋出他。get
例如:io
捕獲異常class
能夠在try-catch塊中捕獲和處理他exception
從異常中獲取信息程序
能夠利用Throwable類的實例方法獲取有關異常的信息
public class Test { public static void main(String [] args) { try { System.out.println(sum(new int [] {1,2,3,4,5})); }catch (Exception e) { // TODO: handle exception e.printStackTrace(); // System.out.println("\n" + e.getMessage()); // System.out.println("\n" + e.toString()); // // // StackTraceElement [] stackTraceElements = e.getStackTrace(); // for(int i=0; i<stackTraceElements.length; i++) { // System.out.print("method " + stackTraceElements[i].getMethodName());// 輸出方法名字 // System.out.print("(" + stackTraceElements[i].getClassName() + ":");//在哪個類裏面 // System.out.println(stackTraceElements[i].getLineNumber() + ")"); //輸出哪一行出錯 // } } } private static int sum(int [] list) { int result = 0; for(int i=0; i<=list.length; i++) { result += list[i]; } return result; } }
建立自定義異常類
能夠經過繼承Exception類來定義一個自定義的異常類
例子