Необработанный тип исключения Java InstantiationException - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь добавить исключение в мой код, чтобы исключение возникало всякий раз, когда securityManager возвращает false:

public Appointment(String date,String time) {
    //Secure Object Construction
    if (securityManager(date, time)) {
        this.date=date;
        this.time=time;
        System.out.println("Valid");
    }
    //Invalid Object, Throw Error
    else {
        throw new InstantiationException("Date provided is Invalid");
    }
    return;

Однако, когда я добавляю это, у меня возникает синтаксическая ошибка:

Unhandled exception type InstantiationException

И IDE хочет добавить строку:

public Appointment(String date,String time) throws InstantiationException

Однако, когда я делаю это, срабатывает исключение всегда .

Как переформатировать код таким образом, исключение возникает только тогда, когда securityManager возвращает false?

1 Ответ

0 голосов
/ 19 марта 2020

InstantiationException является проверенным исключением. Вы должны обработать это, иначе компилятор будет жаловаться на это исключение.

Примеры проверенных исключений: ClassNotFoundException, IOException, SQLException, et c.

Если вы хотите вызвать исключение во время выполнения, вы можете использовать исключение без проверки, которое является подтипами Error и RuntimeException. IDE никогда не будет запрашивать обработку этих исключений.

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