A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

荒无心

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 荒无心 初级黑马   /  2014-10-5 10:10  /  961 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我看过很多人视频处理异常 可是我觉得都不严谨,比如下边列子 虽然在try关闭close的时候出现异常 也可以再finally中把他null 但是后边两个关闭的操作还会执行吗 不会的了 所以我把后面两个关闭 一个套一个 这样才能保证每一条语句都能执行 我也不知打我的方法是否正确 所以来问问大家   本人是菜鸟 所以很多地方表达不清楚 还请原谅   

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestJDBC1 {
        public static void main(String[] args) throws SQLException, ClassNotFoundException {
                Connection conn = null;
                Statement stat = null;
                ResultSet rs = null;
                try{
                        //1.注册驱动
                        Class.forName("com.mysql.jdbc.Driver");
                        //2.获取链接
                         conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydp?user=root&password=root");
                        //3.获取传输器对象
                         stat = conn.createStatement();
                        //4.利用传输器对象执行命令并且返回结果集
                         rs = stat.executeQuery("select * from person");
                        //5.遍历结果集
                        while(rs.next()){
                                String name = rs.getString("name");
                                System.out.println(name);
                        }
                        //关闭链接
                }catch(Exception e){
                        e.printStackTrace();
                }finally{
                        try{
                                rs.close();
                        }catch(Exception e){
                                e.printStackTrace();
                        }finally{
                                rs = null;
                                try{
                                        stat.close();
                                }catch(Exception e){
                                        e.printStackTrace();
                                }finally{
                                        stat = null;
                                        try{
                                                conn.close();
                                        }catch(Exception e){
                                                e.printStackTrace();
                                        }finally{
                                                conn = null;
                                        }
                                }
                        }
                }

        }

}


1 个回复

正序浏览
我擦  忘了 判断是否为空....
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马