我想创建自己的异常类并捕获当用户按下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();
}
答案 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,但最好是对值进行检查,因为异常很慢并且很难调试。如果只在用户点击取消时需要发生某些事情(并因此获得空值),则可以检查方法之外的空值,并将其作为每个方法调用的首选处理。