java.lang.NullPointerException 空指针异常

张映 发表于 2019-08-27

分类目录: java/android

标签:

java.lang.NullPointerException 空指针异常,虽然不影响打包,不影响程序的运行,但是看着不舒服

1,问题

java.lang.NullPointerException
at org.apache.spark.sql.internal.SQLConf$$anonfun$14.apply(SQLConf.scala:133)
at org.apache.spark.sql.internal.SQLConf$$anonfun$14.apply(SQLConf.scala:133)
at scala.Option.map(Option.scala:146)
at org.apache.spark.sql.internal.SQLConf$.get(SQLConf.scala:133)
at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:87)
at org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:48)
at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:69)
at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:642)
at netjoy.mysql.sparkModel.getSparkNum(sparkModel.scala:79)

2,例子分析

/*
 *
 * 判断是否连接
 * */
public boolean isConnected() throws Exception{
    boolean isOk=false;
    try {
        Statement statement = con.createStatement();       //注意:第一次运行时,debug查看con是null
        ResultSet rs = statement.executeQuery("select 1");
        isOk =  rs.next();
    } catch (Exception e) {
        e.printStackTrace();    //con是null后,就会抛出异常了
    }
    return isOk;
}

正确写法

/*
 *
 * 判断是否连接
 * */
public boolean isConnected() throws Exception{
    boolean isOk=false;
    try {
        if(con != null){    //判断一下是否为空
	        Statement statement = con.createStatement();
	        ResultSet rs = statement.executeQuery("select 1");
	        isOk =  rs.next();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return isOk;
}

养成良好的代码,以及自测习惯,是很重要,对自己负责,也对别人负责

养成良好的代码,以及自测习惯,是很重要,对自己负责,也对别人负责

养成良好的代码,以及自测习惯,是很重要,对自己负责,也对别人负责



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/android/2173.html