我有以下方法:
public T peek() throws StackEmptyException {
Node<T> tracker = head;
while(tracker.getNext() != null) {
tracker = tracker.getNext();
}
return tracker.getItem();
}
问题是当我尝试做类似的事情
int firstOne = stack.peek();
我收到一个未报告的异常 StackEmptyException
并且我不知道此时我做错了什么。 StackEmptyException
已在单独的类中生成。我是否应该让这个类扩展我创建的新异常类?如此迷茫。大家有什么想法吗?
最佳答案
由于 StackEmptyException
是一个检查异常(您首先不应该这样做),因此您应该在调用 peek()< 时处理该异常
方法。规则是,要么应该处理异常,要么声明抛出异常。
但是,我会退一步,将 StackEmptyException
更改为 Unchecked Exception。那么您就不需要处理它或将其声明为已抛出。
关于Java错误: Unreported exception?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22343975/