异常机制
本质
概念
异常指程序运行过程中出现的非正常现象,例如除数为零、需要处理的文件不存在、数组下标越界等。
在Java 的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。
我们开始看我们的第一个异常对象,并分析一下异常机制是如何工作的。
示例 异常的分析
public class Test { public static void main(String[] args) { System.out.println("111"); int a = 1/0; System.out.println("222"); } }
结果如下所示:
根据结果,我们可以看到执行“1/0 ”时发生了异常,程序终止了,没有执行后面的打印 222
的动作。如果我们使用try catch 来处理,程序遇到异常可以正常的处理,处理完成后,程序继续往下执行:
public class Test{ public static void main(String[] args){ System.out.println("111"); try { int a = 1/0; } catch (Exception e) { e.printStackTrace(); } System.out.println("222"); } }
执行结果如下:
程序在执行“1/0 ”仍然遇到异常,然后进行 try catch 处理。处理完毕后,程序继续
往下执行,打印了“ 222 ”内容。
Java是采用面向对象的方式来处理异常的。处理过程:
抛出异常: 在执行一个方法时,如果发生异常,则这个方法生成 代表该异常的一个对象 ,停止当前执行路径,并把异常对象提交给 JRE 。
捕获异常: JRE 得到该异常后