异常对象的产生原因和处理方式
* A: 异常对象的产生原因
* 案例代码:
* 工具类
class ArrayTools{
//对给定的数组通过给定的角标获取元素。
public static int getElement(int[] arr,int index) {
int element = arr[index];
return element;
}
}
* 测试类
class ExceptionDemo2 {
public static void main(String[] args) {
int[] arr = {34,12,67};
int num = ArrayTools.getElement(arr,4)
System.out.println("num="+num);
System.out.println("over");
}
}
* 原因分析:
* a: 由于没找到4索引,导致运行时发生了异常。这个异常JVM认识:ArrayIndexOutOfBoundsException。
这个异常Java本身有描述:异常的名称、异常的内容、异常的产生位置。
java将这些信息直接封装到异常对象中。new ArrayIndexOutOfBoundsException(4);
* b:throw new ArrayIndexOutOfBoundsException(4);产生异常对象。JVM将产生的异常抛给调用者main()方法。
* c:main()方法接收到了数组索引越界异常对象。
由于main()方法并没有进行处理异常,main()方法就会继续把异常抛给调用者JVM。
当JVM收到异常后,将异常对象中的名称、异常内容、位置都显示在就控制台上。同时让程序立刻终止。
* B:异常的处理方式
* a:JVM的默认处理方式
* 把异常的名称,原因,位置等信息输出在控制台,同时会结束程序。
* 一旦有异常发生,其后来的代码不能继续执行。
* b:解决程序中异常的手动方式
* a):编写处理代码 try...catch...finally
* b):抛出 throws
|
|