我是第一次使用swing API构建GPA计算器Java应用程序。这是我的第一个GUI应用程序。
在以下情况下,我处理了3个例外情况
我在catch块中使用了return关键字(尤其是在ArithmeticException
情况下),因为即使在显示错误消息之后,程序仍在计算GPA(我不希望如此)。
尽管代码可以按我希望的那样正常运行,但是使用代码中显示的return
是解决问题的正确/良好方法吗?
代码:
try{
int temp;
temp = Integer.parseInt(c1.getText());
if(temp < 0){
throw(new ArithmeticException());
}
}
catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null,"please fill the fields with proper values.");
return;
}
catch(ArithmeticException e){
JOptionPane.showMessageDialog(null,"negative values not allowed");
return;
}
答案 0 :(得分:1)
如果在此之后没有其他代码:
try{
int temp;
temp = Integer.parseInt(c1.getText());
if(temp < 0){
throw(new ArithmeticException());
}
}
catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null,"please fill the fields with proper values.");
return;
}
catch(ArithmeticException e){
JOptionPane.showMessageDialog(null,"negative values not allowed");
return;
}
然后您可以删除return
子句以使其更整洁,这完全没有必要。
答案 1 :(得分:1)
我会说return语句完全取决于个体。有些人不喜欢它们,有些人喜欢。
我个人喜欢它们,并且发现它可以使代码更易于阅读。但是,有些人则相反。您也可以选择检查条件,将结果输出到布尔值,并且仅在布尔值符合您的期望时才运行代码。
此外,抛出异常会导致Java做更多的工作,而不是直接进行检查。
这样会更清洁:
try{
int temp;
temp = Integer.parseInt(c1.getText());
if(temp < 0){
JOptionPane.showMessageDialog(null,"negative values not allowed");
return;
}
}
catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null,"please fill the fields with proper values.");
return;
}