@[toc]
1.异常的概念
异常指程序运行过程中出现的非正常现象,例如除数为零、需要处理的文件不存在、数组下标越界等。
在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。
接下开我们来看一下异常机制是如何工作的
public class Test{
public static void main(String args[]){
System.out.println("111");
int a=1/0;
System.out,println("222");
}
}
大家可以使用开发工具运行一下结果,会发现111打印出来了而且222没有,还抛了一个异常,抛出异常的同时,程序终止,没有执行打印222的动作。
如果用try catch来打印会是一个什么样的效果呢:
代码如下
public class Test2{
public static void main(String args[]){
System.out.println("111");
try{
int a=1/0;
}catch (Exception e) {
e.printStackTrace();
}
System.out.println("222");
}
}
此程序的运行结果跟Test的有所不同,这次222会被打印出来,这是为什么呢,这就是java的异常机制。使用try catch包裹可能发生的异常代码,将异常抛出,下边的代码仍可继续执行。
Java是采用面向对象的方式来处理异常的。处理过程:
1.抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE。
2.捕获异常:JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。