java编写一个能够产生空指针异常的程序,并将其捕获在控制台输出异常信息,要这个代码

如题所述

一、空指针异常产生的主要原因如下:

1、当一个对象不存在时又调用其方法会产生异常obj.method() // obj对象不存在;

2、当访问或修改一个对象不存在的字段时会产生异常obj.method() // method方法不存在;

3、字符串变量未初始化; 
4、接口类型的对象没有用具体的类初始化。

二、实现思路:

1、利用空指针异常的表现之一:对空字符串进行操作。

2、设置一个空的字符串,然后对其进行查找操作(可以使用charAt()方法)

3、对将要出现的异常进行捕获

4、打印到控制台

//java代码
public class NullPointerExceptionTest {

/**
 * 实现思路:
 * 1.空指针异常的表现之一:对空的字符串进行了操作
 * 2.设置一个空的字符串,然后对其进行查找操作(可以使用charAt()方法)
 * 3.对将要出现的异常进行捕获
 * 4.打印到控制台
 * */
public static void main(String[] args) {
// TODO Auto-generated method stub

//定义一个空的字符串
String str = null;

//尝试对空字符串进行操作,并捕获异常,输出异常
try{
System.out.println(str.charAt(0));
}catch(Exception e){
System.out.println("异常信息:");
e.printStackTrace();
}
}

}

运行结果图:

程序开发过程中的空指针异常会经常出现,要尽量保持逻辑清晰,能够及时排查错误代码,对可能发生的异常进行捕获,不要影响主程序运行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-18
public class FirstFile {

 String str[];

 static FirstFile a;

 public void a(FirstFile a){

  if(a.equals(FirstFile.this)){

   

  }

 }

 public static void main(String args[]){

  

  new FirstFile().a(a);

 }

}

追问

用try和catch怎么做?

本回答被网友采纳
第2个回答  2017-06-29
说这个复制的 ? 怪不得现在百度不行了。。估计是人工智能判断的,那你百度的人工智能 牛逼了。

public static void main(String[] args) {

try {

List<String> list=null;

list.get(0);

} catch (NullPointerException e) {

System.out.println(e);

}


}

第3个回答  2014-09-18
public class Main {
 public static void main(String[] args) {
  try {
   ((String) null).length();
  } catch (NullPointerException e) {
   System.out.println("Catched NullPointerException.");
  }
 }

第4个回答  2014-09-18
我一直想学追答

我们做朋友吧

相似回答