Exception in thread "main" java.lang.NullPointerException
at studentinformationl.<init>(studentinformation.java:254)
at studentinformation.main(studentinformation.java:328) 展开
要解决这个问题需要复杂细致的流程,每个环节都很重要,避免出现不必要的差错。
对该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,就给出用户相关的提示信息,避免程序运行时出现出错。
可能有以下几种情况发生空指针异常:
解释是"程序遇上了空指针"。简单地说就是调用了未经初
始化的对象或者是不存在的对象,这个错误经常出现在创建图
片,调用数组这些操作中,比如图片未经初始化,或者图片创建
时的路径错误等等。对数组操作中出现空指针。数组的初始化是
对数组分配需要的空间,而初始化后的数组,其中的元素并没有
实例化,依然是空的,所以还需要对每个元素都进行初始化(如
果要调用的话)