GUI中的异常处理:无法显示消息对话框

时间:2013-11-25 22:01:08

标签: java exception user-interface exception-handling applet

当我编写下面的代码时,我打算从键盘输入双值。如果输入不是double值,则会弹出一个对话框窗口以再次强制输入。

boolean continueLoop=true;
    do
    {
        try
        {
            String firstNumber = JOptionPane.showInputDialog("Enter first floating-point value" );
            number1 = Double.parseDouble( firstNumber );
            continueLoop=false;
        }
        catch ( InputMismatchException inputMismatchException )
        {
            JOptionPane.showMessageDialog(null,"Please type in a valid, real number","Input Error",JOptionPane.PLAIN_MESSAGE);
        }
    }while ( continueLoop );

但是,当我输入无效数字时,对话框窗口从不显示。出了什么问题?

2 个答案:

答案 0 :(得分:2)

您必须抓住NumberFormatException,查看文档中的Double#parseDouble

答案 1 :(得分:1)

当您尝试使用InputMismatchException的另一个nextxxxx()函数读取特定类型时,会抛出

Scanner。但是如果字符串不包含可解析的Double.parseDouble(String)NumberFormatException将抛出double