我在 Android 中有一个方法的代码:
try {
something();
return obj;
}
catch (Exception e) {
e.printStackTrace();
}
return null;
当我在 Debug模式下运行应用程序时,即使没有finally block 并且编译器确实需要第二次返回(当我清理它时编译器说“缺少返回语句”),两个返回语句都会被执行,这怎么可能?即使没有finally,try block 总是这样吗?
最佳答案
您需要第二次返回(return null;
),因为如果“something()”抛出异常,则第一个返回(return obj;
)将不会被执行
关于java - 在没有finally block 的try block 之后执行return语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44762409/