java.lang.NullPointerException 空指针异常

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

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » java.lang.NullPointerException 空指针异常

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址