我想抓住NumberFormatException
,但我的代码有错误,因为我的程序中有TextField
和一个按钮。如果您在TextField
中输入数字,则没有任何问题。如果你输入一封信,我想收到错误信息,但我不使用。请帮帮我?
我的代码:
private JTextField t1=new JTextField(10);
private JButton o88 = new JButton("send");
try{
o88.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
int a = 0;
a = Integer.parseInt(t1.getText());
}
});
}
catch (NumberFormatException e){
System.out.println( e.getMessage());
}
答案 0 :(得分:3)
您试图捕获添加动作侦听器的方法的异常,而不是实际尝试将字符串解析为整数的方法。如果你将它包装在try / catch块中,那么它应该按预期工作:
o88.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
try {
int a = 0;
a = Integer.parseInt(t1.getText());
}
catch(NumberFormatException ex) {
System.out.println( e.getMessage());
}
}
});
请注意,如果这是一个真实世界的程序,你会想要弹出一个对话框(可能使用JOptionPane
)而不是打印到控制台,你会想要打印更人性化的东西然后异常错误消息。