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