异常体系:
|--Throwable
|--Exception <程序本身可以处理的异常>
|--RuntimeException
<这些异常是不检查异常,程序中可以选择
捕获,也可以不处理,这些异常一般
是由于程序逻辑错误引起的,程序应该从
逻辑角度尽可能避免该类异常的发生>
|--非运行时异常
<这些异常为程序语法的异常,为必须处理异常
,如果不处理,程序就不能编译通过
如:IOException以及用户自定义的异常,但
一般情况下步自定义检查异常>
|--Erro <程序无法处理的错误
这种错误发生时,jvm一般会选择线程终止
程序无法运行下去>
什么是异常?异常就是程序运行过程中出现的错误。
java的异常处理框架是java语言健壮性的一个重要体现。java将异常
看做对象来处理,就有了上面的异常体系
异常的捕获和处理:
格式:
try{
//(尝试运行的)程序代码;
}catch(异常类型的变量名){
//异常处理代码;
}finally{
//异常发生,方法返回之前,总要执行的代码;
}
throw throws关键字
throw关键字是用于方法体内部,用来抛出一个throwable类型的异常。如果
抛出了非运行时异常,则应该在方法头部声明方法可能抛出异常类型。
该方法的调用者也必须检查吹来抛出的异常。
如果所有方法都层层上抛获取的异常,最终jvm会进行默认处理,就是打印
异常信息和堆栈信息。
如果抛出的是RuntimeException,可以不用在方法的头部声明
throws关键字是由于方法体外部的声明部分,用来声明方法可能会抛出某些异常。
异常处理的应用:
对于一个应用系统来说,以后我们都应该会有自己的一套异常处理框架,这样当
异常发生时,也能得到同意的处理风格,将漂亮的异常信息反馈给用户。
老师说以后会经常用到RuntimeException,应为客户只知道运行异常,其他的异常
他们不会明白的。 |