NullPointerException,为什么报这种错误,让你知道原因却也云里雾里,整死人。。正所谓会了不难,难了不会。现在写下与大家分享。这种报错肯定是java代码的错。以下是从网上看到的,很好:
[ 所谓空指针异常,是因为用空(null)去调用属性或方法。
null表示没有这个对象,既然没有这个对象,那么去调用他的属性和方法,就会报异常。
<--主要有以下几种原因:
1、使用了未初始化的变量(虽然已经声明)
2、使用了未初始化的对象(虽然已经声明)
3、使用了关键字或已存在的类名作变量对象方法或类名。
当应用程序试图在需要对象的地方使用 null 时,抛出该异常。
<--这种情况包括:
调用 null对象的实例方法。
访问或修改null对象的字段。
将null作为一个数组,获得其长度。
将null作为一个数组,访问或修改其时间片。
将null作为Throwable值抛出。]
但我看完之后还是感觉无从下手,不知错在什么地方。毕竟javabean没有任何语法上的错误,真是难过。语法上没错,逻辑上肯定有错。所以建议从逻辑着手。现在以自己的程序为例。我的程序是实现留言簿的。其过程是将表单的内容先写入DB,在从DB中读取数据到留言簿。下面是我解决问题的流程:
1、数据库问题。抛出空指针异常,那就是数据没有传过来。自信已经把Oracle搞定(专做的服务器,本机只安装客户端就ok。甲骨文也真是名不虚传,也能整死人),只是连通没有测试到底能不能自如读写数据。试试才发现不能,为什么,没有Oracle jdbc驱动,此时激动不已,以为原因很有可能就在这里。。百般之后,数据库已经没有问题,但仍然NullPointerException。。。。。继续努力
2、还是要走逻辑。无论怎么执行程序,发现数据表是空的,显然没有执行数据写入操作。切断从DB中读取数据到留言簿的逻辑。于是就可以先来排查此之前的逻辑问题。为什么会写入失败?此时我尝试不把表单中的数据写入数据库,而是通过jsp页面输出。奇怪的问题出现了,使用Bean的属性方法没有问题,而使用getProperty失败。为什么?前者是直接调用Bean的属性方法,当然没问题。后者则不同,为了获得属性a的值,默认使用的bean方法为getA(),如果javabean中写为了getAb()那就肯定不行了。我正是犯的这个错误。。。。汗阿。这样一来值传不过去,在写入DB时所对应的变量当然是空的了。
分享到:
相关推荐
Java中的空指针异常(NullPointerException)是编程过程中常见的错误类型,尤其对于新手开发者来说更为常见。这个异常通常在试图访问或操作一个值为null的对象引用时抛出。下面将详细探讨这一异常的原因、表现形式、...
具体来说,如果将这两个软件安装在非根目录下的子目录中,可能会因为路径问题引发各种兼容性和配置上的错误,其中就包括`java.lang.NullPointerException`。 **原因解析:** - **路径长度限制**:Windows系统对...
在本文中,我们将深入探讨`NullPointerException`的原因、如何识别它以及如何解决它。 首先,理解Java中的引用类型是关键。在Java中,对象变量实际上是对象的引用,而不是对象本身。当我们声明一个对象变量,如`...
遇到“MyEclipse在启动Tomcat时出现‘An internal error occurred during: "Calculating completion proposals..."’的警告窗口,通常是由于`java.lang.NullPointerException`异常引起的。通过检查项目配置、更新...
深入学习Spring Boot排查 @Transactional 引起的 NullPointerException问题 在 Spring Boot 应用程序中,@Transactional 注解是非常常用的,它能够帮助我们管理事务,使得数据库操作更加可靠和安全。然而,在某些...
这可能是由以下几个原因引起的: 1. **地址错误**:首先,检查URL是否正确输入。有时,一个简单的拼写错误或丢失的斜杠就可能导致404错误。 2. **Web容器配置**:在Eclipse中,你需要确保在Web应用的部署描述符...
不过,与所有软件一样,Zend Studio for Eclipse 在使用过程中也可能会遇到各种问题,比如本文所提到的 Java 语言中常见的 null 指针异常(java.lang.NullPointerException)。 Java 语言中的 null 指针异常是...
例如,在增加一个 Role 时,输入某些数据,然后点击 Save 后出现了java.lang.NullPointerException 的错误,但不知道为什么发生了这个错误,也无法重现此 Bug。 三、 测试用例不充分 测试用例不充分也是导致 Bug ...
在深入探讨解决方案之前,我们先来了解 `NullPointerException` 发生的原因: 1. **对 null 引用的操作**:当试图通过一个 `null` 值的对象调用方法或访问其成员变量时,会触发 `NullPointerException`。 2. **数组...
这些错误通常由于逻辑错误或对对象状态的不当操作引起,需要通过调试和测试来定位并修复。 3. **链接错误 (Linking Errors)** 链接错误发生在编译后的类加载阶段,如NoClassDefFoundError或NoSuchMethodError。这...
以上内容总结了DTSJava故障模式中关于空指针异常的一些关键点。这些错误通常发生在开发过程中,通过仔细检查和适当处理可以避免。开发者应该始终确保在使用任何可能为`null`的对象之前进行适当的检查,以防止程序...
这通常指的是在程序执行过程中,由于某种原因,如对象引用为空(NullPointerException)、数组越界(ArrayIndexOutOfBoundsException)、除数为零(ArithmeticException)等,导致程序无法继续执行的异常。...
访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。
null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员 可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable 的子类。
本文将详细介绍几种Java中常见的异常类型及其产生原因,并提供相应的解决方案。 #### 二、异常类型详解 ##### 1. NullPointerException (空指针异常) **定义:** `NullPointerException`是最常见的运行时异常之一...
从上面的日志信息可以看出,出现了 Null 指针异常,异常信息主要是由于 NullPointerException 引起的。可以看到,异常信息记录在 plog.log 文件中,并且有对应的打印信息。 四、异常信息分析 在 Monkey 测试过程中...