java小白想问一下:
① public static synchronized Connection getConnection()
throws NamingException, SQLException {
Context context = new InitialContext();
DataSource ds = (DataSource) context
.lookup("java:/comp/env/jdbc/DBPool");
Connection conn = ds.getConnection();
return conn;
}
②public static synchronized Connection getConnection()
throws NamingException, SQLException {
Connection conn = null;
try {
Context context = new InitialContext();
DataSource ds = (DataSource) context
.lookup("java:/comp/env/jdbc/DBPool");
conn = ds.getConnection();
} catch (Exception e) {
e.printStackTrace();
}finally{
conn.close();
}
return conn;
}
以上这两段代码:①没什么可说,可是我不想在方法上抛出异常而是想在程序里,就是用方法②,结果抛出空指针异常,也就是return conn时对应的conn是空的,但是我把“Connection conn = null;”挪到程序里变成“Connection conn = ds.getConnection();”则下面提示我conn没有定义,因此我想问一下,如果我想在内部抛出异常代码该怎么写?
此外:这个return到底应该return什么样的?对象,方法,值什么的都可以吗?
finally关闭conn的时候要判断一下conn!=null在关闭,然后在掉这个getConnection方法返回conn的时候,同样判断一下是否为空就ok了吧。。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。