Я только начал свой урок об обработке исключений, и я не уверен в том, что я сделал неправильно в своем коде - я собираюсь создать пользовательский интерфейс, который спрашивает пользователя, сколько у него домашних животных, и проверяет если ввод является целым числом. Кто-нибудь может указать, что не так?
Я уже пытался использовать label.setText () для своего сообщения, и я также изменил используемое исключение (я попробовал NumberFormat).
Вот блок, который я использовал (это первый раз, когда я столкнулся с EH, поэтому я нахожу эту тему несколько запутанной)
String value = input.getText();
int intval = 0;
intval = Integer.parseInt(value);
try {
if (0 >= intval) {
throw new IllegalArgumentException();
}
else
throw new InputMismatchException();
}
catch(IllegalArgumentException e)
{
String outputMessage = "The number must be an integer no less than 0!";
label1.setText(outputMessage);
}
catch(InputMismatchException i) {
System.out.println("Please enter an integer.");
System.out.println("You entered: " + intval);
}
finally
{
System.out.println("You own " + intval + " pets.");
}
Исключения, которые я хочу включить, - это если пользователь ввел другой тип числа вместо целого числа, и если пользователь ввел отрицательное целое число вместо положительного или 0. Мой код выполняется, но блок try-catch не ' это действительно работает.