我通常喜欢将我的局部变量声明为 final,但是当我必须在初始化期间处理异常时,我会看到重复的模式,我无法做到这一点。
例如,我有以下代码:
final Client myClient = library.getClient("service");
//do a bunch of steps with myClient
但我最终经常像这样修改它:
Client myClient = null;
try {
myClient = library.getClient("service");
} catch (someException ex) {
// handle
throw ex;
}
// do stuff with myClient
我不想在我做完所有事情之后添加捕获,因为它在接近尾声时变得有点难以理解。那么有没有更好的方法来做到这一点?