joptionpane的java尝试捕获错误
netbeans在异常e中表示未使用变量e。我似乎不明白这个问题
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
DecimalFormat z = new DecimalFormat("0.00");
double x = Double.parseDouble(fnum.getText());
double y = Double.parseDouble(secondnum.getText());
try {
double f = x + y;
String number = z.format(f);
answer.setText("" + number);
} catch(Exception e ) {
JOptionPane.showMessageDialog(null, "please input a valid number");
}
}
# 1 楼答案
这是真的-没有使用变量e。 要解决此问题(实际上是警告),您可以打印此异常
例如:
# 2 楼答案
警告(可以忽略)告诉您在catch块中声明的变量
e
未被使用。我知道使用IntelliJ IDEA,您可以通过将e
的名称更改为ignored
来删除警告。我不确定NetBeans是否有类似的功能然而,您的try块是毫无意义的。它应该围绕着你的
Double.parseDouble()
调用,因为如果用户的输入不是可以解释为数字的东西,那么这些调用就会失败。try块中唯一可能引发异常的方法是z.format(f)
,并且只有在z
将其舍入模式设置为RoundingMode.UNNECESSARY
时,默认情况下它不是这样试试这样的
编辑:正如OP评论中指出的,通常不建议捕获异常,因此更新以捕获更具体的NumberFormatException