gpt4 book ai didi

java - 潜在的空指针访问。该变量在此位置可能为空。 java.lang.NullPointerException

转载 作者:行者123 更新时间:2023-12-01 06:05:20 25 4
gpt4 key购买 nike

我知道关于此错误存在很多类似的主题,但我尝试了一些建议,但我的问题仍然没有保存。我正在关注本教程: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();”它说:潜在的空指针访问。该变量在此位置可能为空。当我运行程序时出现此错误: Exception in thread "main"java.lang.NullPointerException

我尝试了在类似主题上看到的解决方案,例如:

if(conn!=null){
conn.close();
}

但我仍然有错误。

预先感谢您的帮助!

最佳答案

最后 block 总是在您使用 try catch 时执行,当 conn = DriverManager.getConnection("jdbc:derby//localhost:1527//db"); 抛出 NullPointerException ,它被您的 catch (Exception e) 捕获,然后finally block 开始在您执行的位置执行 conn.close(),但是你的 conn 对象是 NULL ,它再次抛出 NullPointerException ,它没有被捕获,因为你正在捕获 catch (SQLException e )

关于java - 潜在的空指针访问。该变量在此位置可能为空。 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46153205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com