Java错误检查文本字段

时间:2016-02-23 04:48:45

标签: java

我需要检查文本字段(ID)是否包含除数值之外的任何内容。我正在将文本字段中的字符串解析为int。我尝试使用try-catch块捕获错误,但每次该字段除了int之外都有其他内容,它会显示错误消息并终止整个程序。我希望用户能够返回并编辑ID字段。

try{
    int id = Integer.parseInt(fieldID.getText());
}
catch(NumberFormatException e2){
    JOptionPane.showMessageDialog(null, "Please enter a valid ID","Alert!", JOptionPane.ERROR_MESSAGE);
} 

3 个答案:

答案 0 :(得分:1)

使用正则表达式

String regex = "\\d+"; 

然后

System.out.println(myString.matches(regex));

您的最终片段可能看起来像

fieldID.getText().matches(regex));

答案 1 :(得分:0)

尝试更改catch语句以捕获任何异常,而不管类型

catch (Exception e2){

查看错误的堆栈跟踪会很有帮助。

答案 2 :(得分:0)

为什么不限制数字输入字段!!然后你不会有这样的麻烦去尝试抓住它。 查看此答案:https://stackoverflow.com/a/8017847/2356808