【问题标题】:How catch exceptions and store in a ArrayList如何捕获异常并存储在 ArrayList 中
【发布时间】:2020-03-27 12:19:36
【问题描述】:

我正在尝试捕获在执行列表中的某些方法时产生的异常。 我创建了一个不同的 POJO 类来扩展 throwable 类。

public class ErrorDetails extends  Throwable implements Serializable {


    /**
     * 
     */
    private static final long serialVersionUID = 1L;


    private Exception errorDescription;


    public Exception getErrorDescription() {
        return errorDescription;
    }


    public void setErrorDescription(Exception errorDescription) {
        this.errorDescription = errorDescription;
    }

但我仍然无法以这种方式捕获异常。

private List<ErrorDetails> hello=new ArrayList<ErrorDetails>();
 catch (Exception e) {
            hello.add(e);

【问题讨论】:

  • 什么?异常在哪里抛出?或者您正在初始化列表的位置。使用 try catch 块粘贴完整代码,并在 catch 中添加一些打印语句或断点,以查看是否抛出异常
  • 您的代码没有意义,但如果它相关,您的ErrorDetails 类型不会扩展Exception,因此不会被catch (Exception) 块捕获。
  • @khelwood 我也尝试过扩展异常。它不起作用。
  • 什么不起作用?目前尚不清楚您要做什么。发布minimal reproducible example
  • @Optional 我的目标是在列表中添加所有异常。

标签: java exception arraylist collections throwable


【解决方案1】:

ErrorDetails 是 Throwable 的一种特定类型。如果您声明一个 ErrorDetails 列表,则不能在其中添加异常或错误。更改您的代码以使用异常列表:

List<Exception> hello = new ...

我认为拥有 ErrorDetails 类没有意义,但如果您想保留它,请删除“extends Throwable”或用其他东西替换它。 Throwable 仅作为 Exception 和 Error 的父类。

【讨论】:

  • 我已删除 Throwable 并用 Exception 替换它。
猜你喜欢
  • 2015-12-08
  • 2018-07-03
  • 1970-01-01
  • 2018-08-08
  • 2013-09-24
  • 1970-01-01
  • 1970-01-01
  • 2011-12-06
  • 2012-07-23
相关资源
最近更新 更多