我正在为Java数据结构类进行作业分配,我们必须使用链接列表实现从堆栈ADT构建程序。教授要求我们包含一个名为popTop()的方法,该方法弹出堆栈的顶部元素,如果堆栈为空,则抛出“ StackUnderflowException”。据我所知,这是一个我们必须自己编写的异常类,我对此有一些疑问。如果有人可以帮助我,我将非常感激。这是我的一些代码:
private class StackUnderflowException extends RuntimeException {
public StackUnderflowException() {
super("Cannot pop the top, stack is empty");
}
public StackUnderflowException(String message) {
super(message);
}
}
那是我编写的异常类,这是到目前为止我编写的popTop()方法的开头:
public T popTop() throws StackUnderflowException {
if (sz <= 0) {
throw new StackUnderflowException();
}
}
我收到错误消息,提示StackUnderflowException不能是RuntimeException的子类,有人可以对此进行更多说明吗?在方法中,我收到错误消息,说未定义StackUnderflowException。
最佳答案
您的构造函数是私有的,应该扩展Exception
,而不是RuntimeException
。