我有一些具有这种结构的代码:
public void method() {
Object o;
try {
o = new Object();
} catch (Exception e) {
//Processing, several lines
throw new Error(); //Our own unchecked exception
}
doSomething(o);
}
我有很多方法,其中我在 catch 块中有相同的代码,所以我想将它提取到一个方法中,以便我可以节省一些行。我的问题是,如果我这样做,我会得到一个编译器错误“局部变量 o 可能没有被初始化”。
public void method() {
Object o;
try {
o = new Object();
} catch (Exception e) {
handleError();
}
//doSomething(o); compiler error
}
private void handleError() throws Error {
//Processing, several lines
throw new Error();
}
有什么解决方法吗?