使用 return 语句只是为了满足语法不好的做法吗?
请考虑以下代码:
public Object getClone(Cloneable a) throws TotallyFooException {
if (a == null) {
throw new TotallyFooException();
}
else {
try {
return a.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
//cant be reached, in for syntax
return null;
}
这是必要的,因为可能会捕获异常,但是在这种情况下,由于我们已经检查了它是否为null(并假设我们知道我们正在调用的类支持克隆),因此我们知道try语句永远不会失败。return null;
为了满足语法并避免编译错误(带有注释解释不会到达它),在末尾放置额外的 return 语句是不好的做法,还是有更好的方法来编写类似的东西,以便不需要额外的 return 语句?