JAVA异常处理

java异常基本操作:
try{
// 有可能出现异常的语句 ;
}
catch (异常类型 异常对象) {
//异常的处理方法
}
finally {
//异常的出口
//无论有没有异常都会执行finally语句,且比catch中的return优先级高。
}

例题1.

int[] arr = {1, 2, 3};
try { 
System.out.println("before");
System.out.println(arr[100]);
System.out.println("after"); 
} 
catch (ArrayIndexOutOfBoundsException e) { 
// 打印出现异常的调用栈  
 e.printStackTrace();
} 
System.out.println("after try catch");              
// 执行结果 
//before java.lang.ArrayIndexOutOfBoundsException:100   
  at demo02.Test.main(Test.java:10) 
  after try catch 

例题2.
try可以匹配多个catch

int[] arr = {1, 2, 3}; 
try { 
System.out.println("before");  
arr = null; 
System.out.println(arr[100]); 
System.out.println("after");
  } 
catch (ArrayIndexOutOfBoundsException e) { 
System.out.println("这是个数组下标越界异常");     e.printStackTrace();
     } 
catch (NullPointerException e)
      {     
System.out.println("这是个空指针异常");
e.printStackTrace();
       } 
System.out.println("after try catch"); 
 
// 执行结果 before 这是个空指针异常 
//java.lang.NullPointerException  at
 //demo02.Test.main(Test.java:12) after try catch

例题3.
可以使用一个catch捕获所有异常

int[] arr = {1, 2, 3}; 
try { 
System.out.println("before"); 
arr = null; 
System.out.println(arr[100]); 
System.out.println("after"); 
} 
catch (Exception e) {  
e.printStackTrace();
} 
 System.out.println("after try catch"); 
 
// 执行结果
// before java.lang.NullPointerException  at 
 //demo02.Test.main(Test.java:12) after try catch

你可能感兴趣的:(JAVA异常处理)