1.程序代碼:spa
public static void main(String[] args) { int[] a = {1,2,3}; for(int i=0;i<4;i++){ System.out.println(a[i]); } System.out.println("can execute?"); }
執行結果:code
2.程序代碼:blog
public static void main(String[] args) { int[] a = {1,2,3}; try{ for(int i=0;i<4;i++){ System.out.println(a[i]); } }catch(Exception e){ e.printStackTrace(); } System.out.println("can execute?"); }
執行結果:io
3.程序代碼:class
public static void main(String[] args) { int[] a = {1,2,3}; try{ for(int i=0;i<4;i++){ System.out.println(a[i]); } }catch(Exception e){ e.printStackTrace(); return; } System.out.println("can execute?"); }
執行結果:程序
4.程序代碼:im
public static void main(String[] args) throws Exception{ int[] a = {1,2,3}; for(int i=0;i<4;i++){ System.out.println(a[i]); } System.out.println("can execute?"); }
執行結果:總結
5.程序代碼:異常
public static void main(String[] args) { int[] a = {1,2,3}; try{ for(int i=0;i<4;i++){ System.out.println(a[i]); } System.out.println("try can execute?"); }catch(Exception e){ e.printStackTrace(); } System.out.println("can execute?"); }
執行結果:static
總結:
1.若是程序沒有對異常進行捕獲,當運行到異常時,後面的代碼不會執行。(eg:1程序代碼)
2.若是程序對異常進行捕獲了,try裏面異常後的內容不會執行,try代碼塊外面的內容會執行(eg:5程序代碼)
3.若是程序對異常進行捕獲了,可是catch裏面進行了return,try代碼外面的內容也不會執行(eg:3程序代碼)