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]);
ArrayIndexOutOfBoundsException 异常名
}
}
结果:
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]);
}
}
结果: 通过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.getMessage());
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("执行中");
}
}
|