Java 具有泛型类型的自定义异常
我已将java类中的异常包装为自定义异常。我希望我的自定义异常接收两个参数,一个是消息,另一个是列表 但问题是listOfFailedRecords必须是通用的 大概Java 具有泛型类型的自定义异常,java,generics,exception-handling,Java,Generics,Exception Handling,我已将java类中的异常包装为自定义异常。我希望我的自定义异常接收两个参数,一个是消息,另一个是列表 但问题是listOfFailedRecords必须是通用的 大概 throw new MyException("Failed due to dependency", listOfFailedRecords) MyException类看起来像 public class MyException<T> extends Exception { List<T> listO
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;
}
}
公共类MyException扩展异常{
失败记录列表;
MyException(字符串消息、列表失败记录){
超级(信息);
this.listOfFailedRecords=listOfFailedRecords;
}
}
但问题是Java不允许泛型类扩展异常类
现在的做法应该是什么?
我是否应该将对象列表作为
List<Object> listOfFailedRecords
失败记录列表
或者有更好的方法吗?您可能应该使用一个界面来对失败记录的行为进行分组。如果有一个特定的原因,你不能这样做,它很可能是你的设计有问题。在这种情况下,您应该创建几个异常类
下面是一篇很好的帖子,可以理解为什么Java不允许throwable的子类:失败的记录有什么共同之处,您可以在接口中为它们做些什么?如果没有,那么使用不同的异常类来提高可维护性可能是明智的。“或者有更好的方法吗?”-没有。