java.lang.nullpointerexception 怎么解决

Python011

java.lang.nullpointerexception 怎么解决,第1张

这个是空指针异常,空指针的解决办法: 重点关注报错发生的所在行,通过空指针异常产生的两条主要原因诊断具体的错误。同时为了避免空指针的发生,最好在做判断处理时将“null”或者空值放于设定的值之前。

在Java中一般报空指针异常的原因有以下几种: 

1、字符串变量未初始化

2、接口类型的对象没有用具体的类初始化,比如:

List lt;会报错

List lt = new ArrayList();则不会报错了

3、当一个对象的值为空时,你没有判断为空的情况。你可以试着把下面的代码前加一行代码: 

if(rb!=null &&rb!="")

改成:

if(rb==null)

if(rb!==null&&rb!="") 或者if((“”).equals(rb))

扩展资料:

空指针异常的报错

root cause

java.lang.NullPointerException

Dao.BookInfor.ImFromClassification(BookInfor.java:31

org.apache.jsp.front.home_jsp._jspService(home_jsp.java:120)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:731)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)

javax.servlet.http.HttpServlet.service(HttpServlet.java:731)

org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

java 出现空指针异常时默认为指定值的解决方式:

查找对象是否初始化,定位代码出错点,进行赋值初始化。

检查数据是否越界访问,将数组的大小扩大。

如下代码:

package com.qiu.lin.he

public class CeShi {

public static void main(String[] args) {

CeShi ce = null

System.out.println(ce.toString())// 对象没有初始化,也会报空指针

int[] intStr = new int[] { 1, 2, 3, 4, 5 }

System.out.println(intStr[5])// 访问第六个下标就会出错

}

}

运行结果如下:

Exception2

finally

分析:

首先NullPointerException被catch(Exception e1)捕获,打印Exception2,因为有finally,最终还会执行finally中的代码。

注意:

IOException不是运行期异常,方法显示抛出,所以,你的run方法肯定要抛出IOException,否则编译通不过。