java.lang.NullPointerException的错误!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.lang.NullPointerException的错误!!相关的知识,希望对你有一定的参考价值。
以下是代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
* 数据库操作的工具类
*
* @author win
*
*/
public class DbHandle
Connection conn = null; // 数据库连接对象
Statement st = null;// 执行sql语句的对象
ResultSet rs = null;// 存放查询结果集的对象
public Connection getConn()
Connection conn=null;
try
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//提供连接用的url
String url="jdbc:mysql://localhost:3306/scm";
//提供连接用的user
String user="root";
//提供连接用的password
String password="root";
//连接数据库
conn=DriverManager.getConnection(url,user,password);
System.out.println("成功");
catch (Exception e)
e.printStackTrace();
System.out.println("加载失败");
return conn;
/**
* 数据库查询
*
* @param sql
* 传入的SQL语句
*/
public ResultSet executeQuery(String sql)
try
if(conn==null)
getConn();
if(st==null)
st=conn.createStatement();// 创建一个执行sql语句的对象
rs = st.executeQuery(sql);// 执行SQL语句获得结果集
catch (Exception e)
System.out.println("执行executeQuery(String sql)方法出错:" + sql);// 我们要养成习惯如果发生了错误首先看打印出来的sql语句有没有问题
e.printStackTrace();//打印出错误原因
return rs;
/**
* 数据库增加/删除/修改
*
* @param sql
* 传入的SQL语句
* @return >0执行成功
*/
public int executeUpdate(String sql)
int ret = -1;
try
if(conn==null)
getConn();
if(st==null)
st=conn.createStatement();// 执行sql语句的对象
ret = st.executeUpdate(sql);// 执行SQL语句对数据表进行操作,变量ret存放对表修改了多少行
catch (Exception e)
System.out.println("执行executeUpdate(sql)方法出错:" + sql);
e.printStackTrace();// 打印出错误原因
return ret;
/**
* 数据库关闭
*/
public void close()
try
if (rs != null)
rs.close();// 关闭结果集
if (st != null)
st.close();// 关闭Statement对象
if (conn != null)
conn.close();// 关闭连接
catch (Exception e)
System.out.println("执行close()方法出错:");
e.printStackTrace();
以下是错误信息:
下面的那个if(conn==null)在这个情况下是没有用的,你
getConn();方法都try掉了所有的Exception
try
if(conn==null)
getConn();
if(st==null)
st=conn.createStatement();// 执行sql语句的对象
ret = st.executeUpdate(sql);// 执行SQL语句对数据表进行操作,变量ret存放对表修改了多少行
catch (Exception e)
System.out.println("执行executeUpdate(sql)方法出错:" + sql);
e.printStackTrace();// 打印出错误原因
return ret;
参考技术A 连接数据库失败或SQL语句有问题。。才会出现null异常 参考技术B 对象为null,还获取对想信息。 参考技术C 你把图片上指出的语句都贴出来啊,不然谁知道。序号也要带上。
内部编译器错误:org.eclipse.jdt.internal.compiler.problem.ProblemHandler.handle 处的 java.lang.NullPointerExce
【中文标题】内部编译器错误:org.eclipse.jdt.internal.compiler.problem.ProblemHandler.handle 处的 java.lang.NullPointerException(ProblemHandler.java:148)【英文标题】:Internal compiler error: java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.problem.ProblemHandler.handle(ProblemHandler.java:148) 【发布时间】:2021-06-09 14:19:27 【问题描述】:我刚刚导入了大约一年前创建的 Java EE 项目。但是在我导入它之后,我在其中一个文件的第一行得到了这个错误:
Internal compiler error: java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.problem.ProblemHandler.handle(ProblemHandler.java:148)
我可以在服务器上运行该项目,但它不起作用,网站不会显示。
我尝试删除第一行,但仍然出现同样的错误。
我在构建过程中也遇到了同样的错误。
代码中没有其他错误,我无法发布整个代码,因为它大约有 3000 行。
这是项目层次结构:
【问题讨论】:
看起来像 Eclipse 特定的错误。可能会更改 eclipse 版本或使用其他一些 IDE。 IntelliJ 有一个免费的 java 社区版本。对于服务器错误,请分享堆栈跟踪。 【参考方案1】:这是一个 Eclipse 错误。 http://download.eclipse.org/eclipse/downloads/#4.8_Integration_Builds(使用比 2018-06-16 更新的版本)。
在上面的评论链接中检查你的 eclipse 版本,NPE 应该消失了。
【讨论】:
【参考方案2】:我遇到了同样的问题,结果我使用的是 lombok 1.18.18,这个版本有一个已知问题: https://github.com/projectlombok/lombok/issues/2752
【讨论】:
以上是关于java.lang.NullPointerException的错误!!的主要内容,如果未能解决你的问题,请参考以下文章
亲測,Eclipse报"An error has occurred,See error log for more details. java.lang.NullPointerExce