黑马程序员技术交流社区

标题: finally代码块 [打印本页]

作者: 张狮子    时间: 2016-4-30 16:23
标题: finally代码块
/*
finally代码块:定义一定执行的代码。
通常用于关闭资源。
*/

class FuShuException extends Exception{//定义一个异常

        FuShuException(String msg){
       
                super(msg);
        }
}

class Demo{

        int div(int a,int b)throws FuShuException{
       
                if(b<0)
                        throw new FuShuException("除数为负数");
                return  a/b;
        }
}

class ExceptionDemo5 {

        public static void main(String[] args) {
       
                Demo d = new Demo();

                try{
               
                        int x = d.div(4,-1);
                        System.out.println("x="+x);
                }
                catch (FuShuException e){
               
                        System.out.println(e.toString());
                        return;
                }
                finally{
                        System.out.println("finally");//finally中存放的是一定会执行的代码。
                }
               
                System.out.println("over");
        }
        class NoException extends Exception{
       
        }
        public void method()throws NoException{
       
                连接数据库;
                数据操作;//throw new SQLException();
                关闭数据库;//该动作,无论数据操作时否成功,一定要关闭资源。

                try{
                       
                连接数据库;
                数据操作;//throw new SQLException();

                }
                catch (SQLException e){
               
                        会对数据库进行异常处理;
                        throw new NoException();

                }
                finally{
               
                        关闭数据库;
                }
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2