public class Test3 {
public static void main(String[] args) {
String[] strs=new String[]{"a","b"};
int i=0;
A a=null;
//try catch是为了防止程序可能出现的异常
//在捕获异常的代码块(try{}里的代码),如果前面的代码有异常,就不会执行后面的
try{
System.out.println(strs[2]);
System.out.println(3/i);//在捕获异常的代码块中(try),如果前面的代码块有异常,就不会执行下一个
System.out.println(a);
}catch(Exception e1){//不知道捕获什么类型的异常时,可以通过异常处理机制防止程序的中断
System.out.println(e1.getMessage());//getMessage()可以得到异常的信息
e1.printStackTrace();//printStackTrace()用来追踪异常事件发射时执行堆栈的内容
}
finally{//这个finally可写可不写,是捕获异常最后会执行的部分,未来io操作和jdbc接触比较多
System.out.println("=======");
}
try{
System.out.println(strs[2]);
}catch(ArrayIndexOutOfBoundsException e1){//捕获数组下标越界异常
System.out.println(e1.getMessage());//getMessage()可以得到异常的信息
e1.printStackTrace();//printStackTrace()用来追踪异常事件发射时执行堆栈的内容
}
System.out.println("00000000000");
}
}
2
java.lang.ArrayIndexOutOfBoundsException: 2
at day0225.Test3.main(Test3.java:16)
java.lang.ArrayIndexOutOfBoundsException: 2
at day0225.Test3.main(Test3.java:36)=======
2
00000000000