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