我有一个Swing JTextBox
基本上会持有双倍。
我发现使用:
Double.parseDouble(this.myTB.getText());
会在Double.parseDouble()
输入无效时抛出异常(因此程序终止)。
我的问题:是否有一种简单的方法可以不抛出异常,而是返回一个整数(-1)
,说parseDouble()失败了?
我正在尝试为用户说明他或她的数据字段无效。
由于
编辑:
谢谢大声笑。我怎么能忘记捕获异常?这是漫长的一天!
答案 0 :(得分:9)
处理此问题的最佳方法是使用try / catch块。
try {
return Double.parseDouble(this.myTB.getText());
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog("Oops");
return -1;
}
JOptionPane
是向用户显示警告消息的好方法。
答案 1 :(得分:0)
抓住NumberFormatException
,并返回所需的错误值(或从catch子句中采取其他一些操作)。
double value = -1;
try {
value = Double.parseDouble(this.myTB.getText());
} catch (NumberFormatException e) {
e.printStackTrace();
}
return value;
答案 2 :(得分:0)
使用
try{
return Double.parseDouble(this.myTB.getText());
} catch(NumberFormatException e) {
return -1;
}