抛出 EmptyTreeException 不起作用

Throwing EmptyTreeException is not working

我目前正在做一个项目,我必须制作一个二叉搜索树,但我在实现 getRootData 方法时遇到了一点问题

我已经尝试过导入不同的东西或试图找到一个实现的方法,但我没有找到任何运气。

public T getRootData() {
    if (isEmpty())
        throw new EmptyTreeException();
    else
        return root.getData();
}

我应该为 EmptyTreeExcpetion 写一个 class 还是我需要做其他事情。

所以首先你必须写一个 EmptyTreeException class 因为没有这样的内置 class 这个

public class EmptyTreeException extends RuntimeException
{   
    public EmptyListException()
    {
        super ("Tree is Empty");
    }
}

现在,您必须像这样更改 getRootData()

public T getRootData() throws EmptyTreeException
{
    if (isEmpty())
        throw new EmptyTreeException();
    else
        return root.getData();
}

编辑: 您不必更改您的 getRootData(),正如其他 SO 用户所提到的,EunTimeException 是一个 "unchecked exception"所以不需要在方法头后 throws EmptyTreeException 执行此操作。

嗨@PaulAnthonyMorillo,

任何 JDK 上都没有 class 异常 EmptyTreeException。然后我们需要创建一个 class 扩展 Exception 或 RuntimeException 来抛出它。

我们可以验证 java 搜索 java 文档时是否有 class。喜欢javadoc on jdk11

希望对你有所帮助,