异常机制处理总结
一、异常概述
????? 异常即指错误,当异常情况发生,代表该异常情况的对象将被创建并在导致错误的方法中被引发。该方法可以选择自己处理异常或传递该异常。
二、异常分类
????? 总类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结束之后才执行。
?
?
????