我已将java类中的Exception包装到自定义异常中。我希望我的自定义异常接收两个参数,一个是消息,另一个是列表。
但问题是listOfFailedRecords必须是通用的。
类似的东西,
throw new MyException("Failed due to dependency", listOfFailedRecords)
MyException类看起来像,
public class MyException<T> extends Exception {
List<T> listOfFailedRecords;
MyException(String message, List<T> listOfFailedRecords) {
super(message);
this.listOfFailedRecords = listOfFailedRecords;
}
}
但问题是Java不允许泛型类扩展Exception类。
现在应该采取什么方法? 我应该将对象列表传递给此异常
List<Object> listOfFailedRecords
或者有更好的方法吗?
答案 0 :(得分:2)
您应该使用界面来分组失败记录的行为。如果有特定原因你不能这样做,很可能你的设计有问题。在这种情况下,您应该创建几个异常类。
这是一个很好的帖子,可以理解为什么Java不允许throwable的子类:https://stackoverflow.com/a/501309/3425744