阻止当前方法或作用域,称之为异常
RuntimeException会由java虚拟自动抛出,并自动捕获,运行时异常的出现,绝大部分情况下说明了代码本身有问题,要从逻辑上去改进代码
检查异常可能是:文件不存在、连接错误
这种异常需要手动的添加捕获以及处理语句
处理异常
try-catch以及try-catch-finally
try{
//一些会抛出异常的方法
}catch(Exception e){
//处理该异常的代码块
}
如果try抛出异常将会发生什么呢?
首先,抛出异常的方法会终止执行
然后,程序的控制权将被交给catch块中的异常处理程序
如果try会抛出很多种类型的异常,该怎么办?
如果所有的异常都使用同一个catch块去处理,那么这个处理就会变的含糊不清,其实就相当于没有处理
这时候就要用到多重catch块语法
编写多重catch语句块注意事项
顺序问题
一定要按照先小后大,也就是先子类,后父类的顺序来编写
用try-catch语句块处理完异常之后,还需要进行一些善后工作,比如说关闭连接,关闭一些已经打开的文件
这时候就要用finally语句块来进行善后工作
finally语句块是在try块和catch块中的return语句执行完之后,返回到调用者之前去执行的
如果try-catch-finally语句块之内没有任何的return语句,则会调用这三个语句块之外的return语句