一、异常概述
异常即指错误,当异常情况发生,代表该异常情况的对象将被创建并在导致错误的方法中被引发。该方法可以选择自己处理异常或传递该异常。
二、异常分类
总类Throwable:
[1]Error 灾难性的致命错误,不被程序所控制。
[2]Exception 用于用户程序可捕获异常情况。
[1]RuntimeException ...
[2]IOException...
三、异常处理
关键字:try catch throws finally
[1]try catch
try{
//可能会出现异常的语句,如果没异常,执行以下代码;
}catch(Exception ef){
//如果有异常,执行以下代码
ef.printStackTrace();
}
注:try与catch要成对出现,且一旦出现异常,try块将转到catch块,且永远不会逆转。执行完catch语句之后,会
从try/catch块下一行继续。
[2]多重catch语句
某段代码可能会引起多个异常,因此可用多个catch语句,每个语句捕获一种catch异常。当一个catch 语句执行后,其他语句被跳过,直接从try/catch下一行代码段开始执行。
[3]嵌套try语句
try{
try{
}catch{}
}catch{}
[4]throws语句
如果一个方法存在异常但方法本身不想处理,则在方法声明时包含throws语句,并在throws语句中列举出这个方法可能出现的所有异常类型。
type method-name(parameter-list) throws exception-list{
//body of method;
}
[5]finally语句
finally创建一个代码块,该代码块在一个try/catch块完成之后,在另一个try/catch块完成之前执行。
无论try内语句是否有异常,finally都会执行。try语句至少需要一个catch语句或finally语句。如果finally在try 语句之后,则finally将会在try结束之后才执行。