Я работаю над 2 программами для школы, один из них, чтобы получить контактную информацию и сохранить ее в текстовом файле, а другой - читать из текстового файла. Все работает отлично, но я должен добавить блок try/catch, который принимает входные данные, чтобы он мог улавливать нечисловые записи в текстовом поле возраста. Я пробовал много разных способов сделать это со вчерашнего дня, и ничего не работало. Ниже приведен код. Если кто-то может указать мне в правильном направлении, я был бы очень благодарен, потому что я чувствую, что есть что-то фундаментальное, чего я не получаю здесь. Благодаряблок try/catch не работает в actionlistener
private class SaveData implements ActionListener{
public void actionPerformed(ActionEvent e){
String age1 = (String)ageField.getText();
int age = Integer.parseInt(age1);
try{
int a = age;
}
catch(InputMismatchException e1){
JOptionPane.showMessageDialog(null, "Please enter an Integer");
}
String name = (String)nameField.getText();
String email = (String)emailField.getText();
String cell = (String)cellField.getText();
if(age>= 0 && age<=120){
outputFile.println("Name: " + name);
outputFile.println("Age: " + age);
outputFile.println("Email: " + email);
outputFile.println("Cell #: " +cell);
outputFile.println("---------------------------");
nameField.setText("");
ageField.setText("");
emailField.setText("");
cellField.setText("");
}
else{
JOptionPane.showMessageDialog(null, "You have entered an invalid age \n " +
"Please enter an age between 0 and 120",
"Age Entry Error", JOptionPane.ERROR_MESSAGE);
nameField.setText("");
ageField.setText("");
emailField.setText("");
cellField.setText("");
}//end else
}//end actionperformed
}//end actionlistener
'int a = age;' никогда не будет генерировать исключение. Переместите 'Integer.parseInt' внутри' try' – twentylemon
Если вы нашли ответ, вы должны разместить его здесь и пометить этот вопрос как решенный. – codehitman