Бросок EmptyTreeException не работает - PullRequest
1 голос
/ 20 апреля 2019

В настоящее время я работаю над проектом, в котором мне нужно создать двоичное дерево поиска, и у меня возникла небольшая проблема с реализацией моего метода getRootData

Я уже пытался импортировать разные вещи или пытался найтиреализованный метод, но я не нашел удачи.

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

Должен ли я написать класс для EmptyTreeExcpetion или есть что-то еще, что мне нужно сделать.

Ответы [ 2 ]

1 голос
/ 20 апреля 2019

Итак, сначала вы должны написать класс 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 после метода заголовок.

0 голосов
/ 20 апреля 2019

Привет @ PaulAnthonyMorillo,

Нет исключения класса EmptyTreeException ни в одном JDK. Затем нам нужно создать класс, который расширяет Exception или RuntimeException, чтобы выбросить его.

Мы можем проверить, есть ли класс для поиска java на javadoc. Как Javadoc на JDK11

Я надеюсь, что помог,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...