Java 从ActionListener捕获NumberFormatException
我想捕获Java 从ActionListener捕获NumberFormatException,java,try-catch,actionlistener,numberformatexception,Java,Try Catch,Actionlistener,Numberformatexception,我想捕获NumberFormatException但我的代码有错误,因为我的程序中有TextField和一个按钮。如果在TextField中输入数字,则没有任何问题。如果您输入一封信,我想得到错误消息,但我不使用。请帮帮我 我的代码: private JTextField t1=new JTextField(10); private JButton o88 = new JButton("send"); try{ o88.addActionListener(new ActionList
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());
}
您试图捕获添加操作侦听器的方法上的异常,而不是实际尝试将字符串解析为整数的方法。如果您将其包装在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
),而不是打印到控制台,并且您希望打印比异常错误消息更易于人阅读的内容