我有一个笼子课:
public class Cage<T extends Animal> {
Cage(int capacity) throws CageException {
if (capacity > 0) {
this.capacity = capacity;
this.arrayOfAnimals = (T[]) new Animal[capacity];
}
else {
throw new CageException("Cage capacity must be integer greater than zero");
}
}
}
我试图在另一个类main方法中实例化Cage对象:
private Cage<Animal> animalCage = new Cage<Animal>(4);
我收到错误消息:“默认构造函数无法处理隐式超级构造函数引发的异常类型CageException。必须定义一个显式构造函数。”有任何想法吗? :o(
最佳答案
这意味着在另一个类的构造函数中,您正在创建Cage类,但是该构造函数未正确处理该异常。
因此,要么在其他构造函数中创建Cage
类时捕获异常,要么使构造函数抛出CageException
。