gpt4 book ai didi

java - 局部变量可能尚未初始化 - 检测方法中抛出的未经检查的异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:07:19 26 4
gpt4 key购买 nike

我有一些具有这种结构的代码:

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 block 中有相同的代码,所以我想将它提取到一个方法中,这样我就可以节省一些行。我的问题是,如果我这样做,我会得到一个编译器错误“局部变量 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();
}

有什么解决方法吗?

最佳答案

局部变量使用前需要初始化

public void method() {
Object o=null;
try {
o = new Object();
} catch (Exception e) {
handleError();
}
doSomething(o);
}

除非使用未初始化的局部变量,否则不会出现编译失败

关于java - 局部变量可能尚未初始化 - 检测方法中抛出的未经检查的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18099320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com