如何忽略从setter抛出的异常?例如
我有一个这样的二传手:
public setValue( double value){
try{
// trying to see if its a double. if it is, set private variable
//
}
catch(Exception ex){
//i want to catch if its not a double, then i set private varieble
// to default value.
}
}
在构造函数中如果我使用带有无效值的setValue(),如何忽略异常?即我不想显示调用代码的任何异常。如果我不做任何printstacktrace()会没问题吗?我怎么能测试一个double,无论它是作为一个“字符串”还是一个真正的双重?感谢
答案 0 :(得分:3)
试试这个。根据你的问题。
//doubleVal is the value you are looking to set.
public void setValue(...) {
try {
// set the field
doubleVal = Double.parseDouble(inputvalue);
} catch ( NumberFormatException e) {
doubleVal=0.0;//default
}
}
HTH
答案 1 :(得分:2)
您可能不想忽略例外。另一种方法是返回一个布尔值,表示字段是否设置成功:
public boolean setValue(...) {
try {
// set the field
return true;
} catch (SomeException e) {
return false;
}
}
或者,如果它更有意义,您也可以将异常传递给调用者。
答案 2 :(得分:0)
我如何测试双倍,无论它是否作为一个 “字符串”还是真正的双重?
public setValue( double value){
// Did this method compile?
// Then the double must be valid!
...