在java中创建我们自己的异常类

时间:2011-06-12 08:32:03

标签: java exception-handling

我想创建自己的异常类并捕获当用户按下inputDialog框取消按钮时返回的null值。基本上如果用户按下取消我不希望程序崩溃。我怎么做。我想创建自己的异常类,因为我打算在其中放入其他自定义异常以供将来使用。

static private String showInputDialog()//utility function for userInput----------------
    {
        String inputValue = JOptionPane.showInputDialog("Please input something");

        if(inputValue.isEmpty() || !inputValue.matches("[A-Za-z]*"))
        {
            inputValue = showInputDialog();
        }

        return inputValue;
    }

//其中调用inputDialog

public void actionPerformed(ActionEvent evt)
{  
       String firstName = showInputDialog();
       String lastName = showInputDialog();
}

2 个答案:

答案 0 :(得分:3)

异常是inputValue的null值的结果,您可以通过自己检查null来阻止获取异常。

此外,您的方法现在会在每次下一次迭代时进行递归。你想要在功能上实现的是“什么都没有输入请求输入”。这将转化为:

//utility function for userInput----------------
static private String showInputDialog()
{
    String inputValue = null;

    do {
        inputValue = JOptionPane.showInputDialog("Please input something");
    }
    while (inputValue != null && (inputValue.isEmpty() || !inputValue.matches("[A-Za-z]*")));

    return inputValue;
}

答案 1 :(得分:0)

您所要做的就是创建一个新类并扩展Exception,但最好是对值进行检查,因为异常很慢并且很难调试。如果只在用户点击取消时需要发生某些事情(并因此获得空值),则可以检查方法之外的空值,并将其作为每个方法调用的首选处理。