如何处理Java. lang. NullPointerException异常?

作者&投稿:闫杭 (若有异议请与网页底部的电邮联系)
~

要解决这个问题需要复杂细致的流程,每个环节都很重要,避免出现不必要的差错。

对该exception的具体分析如下:

1、当有异常出现时,如果程序员没有将对其进行异常处理,那么异常将会出现在控制台上,如下面的控制台信息:

Exception in thread "main" java.lang.NullPointerException

at Main.f(Main.java:11)

at Main.main(Main.java:7)

第一行给出了是异常的原因,NullPointerException,这相当于c和c++里的空指针,所以必须处理,否则程序运行时会出错。

接下来的几行给出了出错的程序调用,指出了Main.java的11行出现java.lang.NullPointerException异常,但是具体的原因还得从调用的代码上去查找,这里是Main.java的第7行传递了null导致的。

2、java.lang.NullPointerException异常出现的原因必定是出现了null,所以我们可以在代码中插入判断语句(也可以用调试的方法去查找),现在我在代码中插入

if(str==null)

      System.out.println("这里的str值是null");

3、运行修改后的代码,出现了以下信息,其中我们判断如果str为null,就让它输出的提示信息,按照该方法我们可以判断出NullPointerException的具体原因,至于我们要如何对其修改,这根据程序的需求进行处理。可以用if判断是否为null,如果为null,就给出用户相关的提示信息,避免程序运行时出现出错。




鸡东县14785404971: 如何解决java.lang.NoClassDefFoundError -
居友龙胜: 在JAVA开发中,main线程中抛出java.lang.NoClassDefFoundError是一个非常普遍且比较难解决的问题.解决这个问题的复杂性主要取决于你的软件大小和中间件部署情况,尤其要考虑在应用中出现的数量众多的classloader的情况. 本文将从...

鸡东县14785404971: java.lang.Run,该怎么解决 -
居友龙胜: 用Visual Studio 2010编写一个C语言程序:1、打开Microsoft Visual Studio 2010软件;依次打开“新建”、“项目”.2、选择“win32控制台应用程序”,在窗口下面的名称填写好名称.3、点击“下一步”继续.4、在附加选项中选择“空项目”,然后点击“完成”.5、在软件界面左边的"解决方案资源管理器"中的“源文件”上面右击鼠标一次选择“添加”、“新建项”.6、在新窗口中选择“C++文件(.cpp)”,在窗口下方的名称中填写好名称.注意:千万不要忘记在填写好的名称后面写上 .c 比如(hello.c),最后选择“添加”.

鸡东县14785404971: 出现java.lang.NoSuchMethodErrorl怎么解决? -
居友龙胜: 1、项目依赖bai复杂.不使用maven管理项目依赖时更容易出现该问题.处理的方法是: 如果使用maven,执行dumaven dependency:tree 人工排除.2、运行环境问题.一般java web程序都运行在容器中,tomcat等.如果容器中已经存在了某...

鸡东县14785404971: java.lang.NoClassDefFoundError 怎么解决~我是java新手 -
居友龙胜: java.lang.NoClassDefFoundError: 找不到相应的类文件,当编译源文件以后都会生成一些类文件:***.class,执行时要用java(main所在的类) ,如果找不到相应的类,执行就会出现NoClassDefFoundError的异常. 1、首先请确认没有错敲成java xxx.class, 2、其次,检查CLASSPATH环境变量, 3、将java文件按包名存放: 比如工作目录是/work,类是package1.class1,那么将它存放为/work/package1/class1.java.如果没有声明包,那么直接放在/work下.

鸡东县14785404971: 如何避免及解决万恶的java.lang.NullPointerException错误 -
居友龙胜: 作为一个java 程序员,特别是刚入门或初学者,遇到的最多的异常我想当属 java.lang.NullPointerException,当然这是一个不可避免的.不管你是多老的程序员,写的程序也不能保证不出现这个异常.但不可杜绝,并不代表不可避免,不可减少...

鸡东县14785404971: 报错java.lang.NoSuchMethodException怎么解决 -
居友龙胜: java.lang.NoSuchMethodException 这个异常的 意思是没有找到调用的方法.也就是说类里面没有这个方法名.看看是不是方法名写错了或者参数个数错了、或者参数类型错了.

鸡东县14785404971: 如何解决java.lang.NoClassDefFoundError错误 -
居友龙胜: 字面报错就是你没有找到指定的类 eclipse显示Ok,打包运行出问题,一般:打包的工程中有jar包冲突

鸡东县14785404971: 出现这种异常怎么办java.lang.NoClassDefFoundError -
居友龙胜: 当发生由于缺少jar文件,或者jar文件没有添加到classpath,或者jar的文件名发生变更会导致java.lang.NoClassDefFoundError的错误.当类不在classpath中时,这种情况很难确切的知道,但如果在程序中打印出System.getproperty(“java.classpath...

鸡东县14785404971: 如何处理java.lang.UnsatisfiedLinkError -
居友龙胜: 1、请查看控制台的错误信息 a:如果控制台的消息是类似 java.lang.UnsatisfiedLinkError: no MRChkLib in java.library.path,Error loading library MRChkLib 这样的错误信息,那么是因为MRChkLib.dll没有拷贝到windows的System32目录下. (...

鸡东县14785404971: 如何解决java dao查询中java.lang.NullPointerException -
居友龙胜: 空指针异常一般都是对象为null,你却去调用它的方法.解决就是在获取对象后加个判断,若不为空则进行下一步

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网