java異常丟擲時間順序
阿新 • • 發佈:2019-02-09
1、當前方法丟擲異常時(交給java虛擬機器執行異常處理)
public class ExceptionTest5 { public void method(String str) throws MyException{ if(str == null){ throw new MyException("傳入的字串引數不能為null"); } else{ System.out.println(str); } } /* * 根據多型,也可以丟擲 Exception型別的異常: * 1) throws Exception * 2) 捕獲也可以這樣寫 catch(Exception e) */ public static void main(String[] args) throws MyException{ try{ ExceptionTest5 test = new ExceptionTest5(); test.method(null); }catch(MyException e){ e.printStackTrace(); } finally{ System.out.println("異常處理完畢"); } System.out.println("程式執行完畢"); } }
執行結果為:
異常處理完畢
程式執行完畢
com.ahuier.exception.MyException: 傳入的字串引數不能為null at com.ahuier.exception.ExceptionTest5.method(ExceptionTest5.java:6) at com.ahuier.exception.ExceptionTest5.main(ExceptionTest5.java:22)
2、當前方法不丟擲異常
public class ExceptionTest5 { public void method(String str) throws MyException{ if(str == null){ throw new MyException("傳入的字串引數不能為null"); } else{ System.out.println(str); } } /* * 根據多型,也可以丟擲 Exception型別的異常: * 1) throws Exception * 2) 捕獲也可以這樣寫 catch(Exception e) */ public static void main(String[] args) { try{ ExceptionTest5 test = new ExceptionTest5(); test.method(null); }catch(MyException e){ e.printStackTrace(); } finally{ System.out.println("異常處理完畢"); } System.out.println("程式執行完畢"); } }
執行結果:
com.ahuier.exception.MyException: 傳入的字串引數不能為null
at com.ahuier.exception.ExceptionTest5.method(ExceptionTest5.java:6)
at com.ahuier.exception.ExceptionTest5.main(ExceptionTest5.java:22)
異常處理完畢
程式執行完畢