我经常遇到同样的问题,当一个有返回值的函数捕获了异常时,我不知道该返回什么。下面的代码片段说明了我的问题。
public Object getObject(){
try{
...
return object;
}
catch(Exception e){
//I have to return something here but what??
return null; // is this a bad design??
}
}
我的问题是:
- return null 是不好的设计吗?
- 如果是的话,什么被认为是更干净的解决方案?
谢谢。
catch(Exception e)
几乎总是一个不好的主意。如果try{}块中的代码编写得很好,你应该对它将抛出哪个异常有一个很好的想法,然后你可以只捕获那个异常。 - Tyler