【发布时间】:2017-09-11 18:24:56
【问题描述】:
我知道关于这个错误有很多类似的主题,但我尝试了一些建议,但我的问题仍然没有得到解决。 我正在关注本教程:https://www.youtube.com/watch?v=B3gEbC37DAM&list=PL1A506B159E5BD13E&index=2
这是我的代码:
public class JdbcDaoImpl {
public Circle getCircle(final int circleId) {
Connection conn = null;
try {
String driver = "org.apache.derby.jdbc.ClientDriver";
Class.forName(driver).newInstance();
conn = DriverManager.getConnection("jdbc:derby//localhost:1527//db");
PreparedStatement ps = conn.prepareStatement("SELECT * FROM circle where id= ?");
ps.setInt(1, circleId);
Circle circle = null;
ResultSet rs = ps.executeQuery();
if (rs.next()) {
circle = new Circle(circleId, rs.getString("name"));
}
rs.close();
ps.close();
return circle;
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
try {
conn.close();
} catch (SQLException e) {
}
}
}
}
在“conn.close();”上它说:潜在的空指针访问。该变量在此位置可能为空。 当我运行程序时出现此错误:线程“main”java.lang.NullPointerException中的异常
我尝试了我在类似主题上看到的解决方案:
if(conn!=null){
conn.close();
}
但我仍然有错误。
提前感谢您的帮助!
【问题讨论】:
-
还有哪些错误?
-
您在输入
if语句时遇到什么错误? -
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建 minimal reproducible example。使用“编辑”链接改进您的问题 - 不要通过 cmets 添加更多信息。谢谢!