Как выдать диалоговое окно с ошибкой при попытке перехвата?

#java #exception #throw

#java #исключение #выбросить

Вопрос:

У меня проблема с попыткой перехвата в моем коде. Я не могу выдать диалоговое окно с ошибкой. В моей IDE предупреждение об объекте окрашено в красный цвет, и я не знаю почему.

     @FXML
    void textDayWeek(ActionEvent event) {
        String dateBarras = txtDate.getText();
        String[] split = dateBarras.split("/");
        try {
            data = new Data(Integer.parseInt(split[0]), Integer.parseInt(split[1]), Integer.parseInt(split[2]));
        } catch (MonthInvalidException me) {
            if (Integer.parseInt(split[1]) > 12 || Integer.parseInt(split[1]) < 1)
                throw Alert alert = new Alert(Alert.AlertType.ERROR);
                        alerta.setTitle("error");
            alert.setHeaderText("ERROR");
            alert.setContentText(me);
        }

    }
  

Это самое близкое, что у меня есть для решения проблемы, но это все равно неправильно.

Комментарии:

1. Ну, это не то throw , для чего нужно. Вы можете создавать только объекты типа Throwable . Если вы просто хотите показать диалоговое окно с предупреждением, вам просто нужно удалить throw ключевое слово.

2. В упражнении, которое я выполняю, ранее был создан класс с именем MonthInvalidException . Зачем им создавать класс исключений, если я не могу его использовать (и предполагается, что он создает диалоговое окно с ошибкой JavaFX)?

3. Возможно, вы захотите выполнить «throw», когда вы правильно завершите объект «alert», но я не уверен, как это будет работать

4. @DavidMachado Трудно разобраться без дополнительного контекста. Кажется, вы упускаете основы исключений . Методы могут генерировать исключения, указывающие на возникновение какой-либо ошибки. Затем вызывающие методы могут либо обрабатывать их с помощью catch предложения, либо передавать их вызывающему.