抛出EmptyTreeException不起作用

时间:2019-04-20 19:42:55

标签: java binary-tree binary-search-tree

我目前正在一个项目中,我必须制作一个二进制搜索树,并且在实现getRootData方法方面遇到一些问题

我已经尝试导入其他内容或尝试找到实现的方法,但是我没有发现任何运气。

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

我应该为EmptyTreeExcpetion写一个类,还是我需要做其他事情?

2 个答案:

答案 0 :(得分:1)

所以首先您必须编写一个EmptyTreeException类,因为对此没有此类内置类

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是“未经检查的异常”,因此无需这样做throws EmptyTreeException在方法标题之后。

答案 1 :(得分:0)

@PaulAnthonyMorillo,您好,

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

我们可以验证在javadoc上进行java搜索时是否存在一个类。像javadoc on jdk11

我希望我有所帮助,