首页 > 解决方案 > java中的异常,打印一个列表

问题描述

我有一个关于异常的一般性问题。我应该写什么以便打印整个列表?当时我的输出以“字符串为空”结尾
谢谢

public static void main(String[] args) {

    List<String> list = new ArrayList<String>();
    Collections.addAll(list, "hi", null, "hello");

    try {
        print(list);
    } catch (NullPointerException e) {
    System.out.println(e.getMessage());
    }
}

private static void print(List<String> list) {

    for (String string : list) {

        if (string == null) {
            throw new NullPointerException("String is null");
        }

        System.out.println(string);

    }
}

标签: javaexception

解决方案


如果你想打印整个列表,你应该使用System.out.println("String is null");而不是,throw new NullPointerException("String is null");因为异常会停止程序并且它不能打印其余的元素。

import java.util.*;
public class Program
{
    public static void main(String[] args) {

    List<String> list = new ArrayList<String>();
    Collections.addAll(list, "hi", null, "hello");

    try {
        print(list);
    } catch (NullPointerException e) {
    System.out.println(e.getMessage());
    }
}

private static void print(List<String> list) {

    for (String string : list) {
        if (string == null) {
            System.out.println("String is null");
        } else {
          System.out.println(string);
        }
    }
}
}

推荐阅读