异常-----finally

Finally中存放的事一定会被执行的代码;无论异常有没有出出现,finally里面的代码都会执行。

  • 作用:
    写程序连接数据库;客户机与数据库服务器建立连接,因为数据库服务器的连接个数是有限的,每个进程数据传输完成后要断开链接;这个finally就是用来断开链接的。

伪代码

* class method{
    连接数据库;
    数据操作;//trhow new SQLException();
    关闭数据库;
}//问题:没问题,可以正常关闭;若出现问题,会导致程序无法关闭。
class method{
    try{
        连接数据库;
        数据处理:
    }
    catch(SQLException e) throws NoException{
        //尽量不要抛出异常;调用者更不合适解决这个异常!!!
        一定要对数据库处理异常;
        //数据没有存储成功,需要给上面反馈;这个开发过程中比较常见的问题。
        throw new NoException();//这个异常抛给上面,是为了让上层调用者对数据存取失败的异常进行处理;
                                //就像之前,电脑冒烟,“老师讲课”是没办法处理“电脑冒烟”问题;
                                //但上一层“老师和同学”可以处理这一情况:换个老师或放假!
    }
    finally(){
        关闭数据库;
    }
}
  • 还用于底层资源的调用过程中,关闭资源!
  • 异常捕获和处理一般有三种格式:
//第一种
try{}
catch(){}
 //第二种
try{}
catch(){}
finally{}
//第三种,catch适用于处理异常,如果没有catch就代表异常没有被处理过;如果该异常是检测异常,那么必须声明。
 try{} //try{ throw new Exception(); }为检测异常
finally{}

你可能感兴趣的:(异常-----finally)