#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
предложения, либо передавать их вызывающему.