StackUnderflowException

StackUnderflowException

我正在为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

08-20 01:51