异常的总结
1.异常的概念
在进行程序设计的时候,错误时不可避免的,错误不是普通的在程序编辑中出现的语法错误,而是在程序运行中发生的异常事件,比如除0溢出、数组越界、文文件找不到等,这些时间的发生将阻止程序继正常运行。为了加强程序的健壮性,程序设计时,必须考虑到可能发生的异常事件并做出相应的的处理。
Java通过面向对象的方法来处理程序错误,在Java中,错误被称为异常。
异常的机制
(1)在一个方法运行的过程中,如果发生了异常,则这个方法生成一个代表该异常的对象,并将这个对象传递给Java运行时系统,这个例外产生和提交的过程称为抛出(throw)异常。
(2)当Java运行时系统得到例外对象以后,他将会在方法的调用栈中查找,从生成异常的方法开始进行回溯,找到能处理这一例外的方法以后,运行时系统把当前例外的对象交给这个方法进行处理,这一过程称为捕获(catch)。
异常处理的关键字
try{……}
定义可能产生异常的代码段
catch(Etype e){……}
用于捕获一个异常
throw e;
用于抛出一个异常
throws Etype1,Etype2……
用于声明方法可能抛出的异常类型
finally{……}
用于做统一的事后处理
2 异常的分类
异常的分类:
① 异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception,具体的RuntimeException继承RuntimeException。
② Error和RuntimeException及其子类成为未检查异常(unchecked),其它异常成为已检查异常(checked)。
得到异常信息的三种方式:
System.out.println(e.getMessage());//得到异常的内容
System.out.println(e.toString());//得到异常的类型
e.printStackTrace();//得到异常类型,以及异常所发生的类和行信息
异常的处理方式
1.直接抛出Exception异常,因为所有的异常类都是Exception的子类
2.可以加上多个catch语句,不同的异常,交给不同catch进行处理。
throws:当你不想处理该异常的时候,可以使用throws将异常抛出,交给下一个调用者进行处理。
throw:可以用来自己定义异常。