java - 带有 NumberFormatException 的 Catch block 被忽略?

标签 java input try-catch numberformatexception

当用户输入无效或什么都不输入时,我尝试发送错误 JOptionPane。我正在尝试使用 try/catch block 和 NumberFormatException 来执行此操作,但在我看来,该 block 被忽略,但这是不可能的。

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);
    }
}
}   

很抱歉,代码可能不符合代码约定,但我删除了所有不重要的部分,因此,我可能使代码变得“更丑”。

最佳答案

将 try catch block 放入操作监听器中。操作监听器是一个不同的类,因此当前的 try catch block 不会捕获其中的异常。

关于java - 带有 NumberFormatException 的 Catch block 被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51025677/

相关文章:

java - ScheduledExecutorService 不执行具有 initialDelay 0 的任务

java - 使用 Spring Data JPA 的模型库(继承)

java - Hibernate 仅在字段上设置 @Column 内的长度,而不是属性

jQuery 禁用 div 的多个输入子项

javascript - 在异步上下文之外尝试/捕获异步函数

java - 将具有相同名称的行放在一起

java - 当一个值输入到控制台时如何返回指定的getter值? - java

javascript - 将文件拖放到 Html 输入

java - 为什么 throws 关键字无法处理字段声明中抛出的异常

java - 程序在 catch block 结束之前继续