1.try-catch-finally
格式如下:
try
{
可能出现异常的代码
}
catch(异常类型1 引用)
{
异常类型1处理代码
}
……
catch(异常类型n 引用)
{
异常类型n处理代码
}
finally
{
finally块中的代码
}
try中放一些有可能出现异常的内容,如果没有出现异常,则执行完try中的语句。当出现某类型的异常时,try中语句会立即停止,转到相应的catch语句中。catch语句可以有多个。finally语句的作用是在离开try-catch语句之前要执行的语句。
2.异常的层次结构
(1)捕获异常
即必须处理异常,一般是由外界因素产生的,是可以恢复的。使用try-catch可以避免编译时的报错,但catch的类型不能是try可能产生异常类型之外的。
(2)未捕获异常
指不用必须处理的异常,一般不可恢复。常见的有空引用异常:NullPointerException。
(3)再抛出异常
异常在产生位置不能够进行处理,需要上报上一级程序进行处理。在方法名后面加上throws IOExeption,InterruptedException等语句,这样在方法处理异常的时候就可以将这两种捕获异常再抛出,方法体中使用“throw 异常对象引用”可将捕获异常再抛出。