Java開發過程中關於異常處理的詳解
1.運行java時,出現瞭異常:
我這裡是因為:arr[3]不存在:
java.lang.ArrayIndexOutOfBoundsException: 3
public class btyf { public static void main(String[] args){ int[] arr={1,2,3}; System.out.println(arr[0]); System.out.println(arr[3]); System.out.println(arr[1]); //1 異常 ArrayIndexOutOfBoundsException 異常名 // btyf.main(btyf.java:13) 異常位置第13行 // //Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 // at btyf.main(btyf.java:13) } }
結果:
java虛擬機:會把異常內容輸出控制臺
2.處理異常:
public class btyf { public static void main(String[] args){ int[] arr={1,2,3}; System.out.println(arr[0]); try{ System.out.println(arr[3]); }catch (ArrayIndexOutOfBoundsException e) { System.out.println("你訪問的數組索引不存在"); e.printStackTrace(); //輸出異常數據:控制臺 } System.out.println(arr[1]); //1 異常 // ArrayIndexOutOfBoundsException 異常名 // btyf.main(btyf.java:13) 異常位置 //Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 // at btyf.main(btyf.java:13) } }
結果:
通過try抓異常,後面沒有異常的代碼就不會因為前面的代碼一些異常而停止,
就可以執行
3.throwable:成員方法:
System.out.println(e.toString());//打印出異常內容:位置和名稱
e.printStackTrace(); //輸出異常數據:控制臺
System.out.println(e.getMessage()); 一樣
多用:System.out.println(e.toString());這個
try{ System.out.println(arr[3]); }catch (ArrayIndexOutOfBoundsException e) { //System.out.println("你訪問的數組索引不存在"); // e.printStackTrace(); System.out.println(e.getMessage()); //public String getMessage() { // return detailMessage; // } System.out.println(e.toString()); }
結果:
4.throws:拋出異常:
但是在異常處:還是要添加try catch
添加位置:異常成員方法
public static void main(String[] args)throws ArrayIndexOutOfBoundsException{}
代碼:
public class uytig { public static void main(String[] args)throws ArrayIndexOutOfBoundsException{ int[] arr={1,2,3}; System.out.println(arr[0]); try { System.out.println(arr[3]); } catch (Exception e) { e.printStackTrace(); } System.out.println("執行中"); } }
到此這篇關於Java開發過程中關於異常處理的詳解的文章就介紹到這瞭,更多相關Java 異常內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!