Я пытаюсь отправить ошибку JOptionPane, когда пользователь вводит недействительный или вообще ничего. Я пытаюсь сделать это с помощью блока try/catch и исключения NumberFormatException, но мне кажется, что блок игнорируется, но этого не может быть.
import javax.swing.*;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.lang.NumberFormatException;
public abstract class Input extends JFrame implements ActionListener {
public static void main(String[] args) throws NumberFormatException {
//implementation of the GUI with JTexFields etc.
try {
button.addActionListener(e -> {
Label.setText(" ");
int Num1 = 5;
int Num2 = Integer.valueOf(Field1.getText());
if (Num1 <= 0) {
//something;
}
//calculate with input
});
}
catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null,
"Please watch out for your input.",
"Input error",
JOptionPane.ERROR_MESSAGE);
}
}
}
Мне жаль, что код, вероятно, не соответствует правилам кодирования, но я вырезал все неважные части и поэтому, возможно, я сделал код «уродливее».
NumberFormatException
выбрасывается внутри лямбда-выражения и, вероятно, не выбрасывается повторно. - person LuCio   schedule 25.06.2018