java - 在没有finally block 的try block 之后执行return语句

标签 java android

我在 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/

相关文章:

android - 循环引用:DexFileReader中的java.lang.NullPointerException

java - 有没有办法在调试过程中保存变量的实例以供重用?

java - DES加密文本的大小

java - 如何在博客应用程序上有效地取消发布特定用户的所有数据?

java - 透明扫描仪(中)

android - Google Play 上是否还使用了特色图片和宣传图片?

android - ListView 不会自行更新

java - 你如何在 Java 中将某些东西表示为空?

java - Hibernate 的 PhysicalNamingStrategy 的 toPhysicalSchemaName 不会被调用

android - 如何防止在手机中安装我的 Android 应用程序?