java - 为什么这里不需要 return 语句?

标签 java try-catch

如果我有方法:

public static boolean getA() throws Exception{
    try{
        throw new Exception();
    }finally 
    {

    }
}

不需要返回语句。此外,如果我们尝试在末尾添加 return 语句,则会产生“无法访问的语句”错误。

为什么会这样呢?是否确定程序不会跳出 block ,并且会抛出异常?

此外,如果我们添加catch block 而不是finally block ,则需要return 语句出现在那里。

最佳答案

因为你已经指定了一个 throw 语句,并且方法定义中没有其他任何内容。因此。我想事情就是这么简单。

return 语句将无法访问,因为无论发生什么,它都会抛出异常。

catch 将需要 return 语句,因为您现在正在显式处理异常,它希望您按照在方法定义中声明的方式返回。

我希望你知道,你可以同时保留 catch 和 finally block 。因为它们有各自不同的目的。

Java Exceptions .

关于java - 为什么这里不需要 return 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36677122/

相关文章:

java - 并行 Sonar 扫描仪执行锁定错误

python - 如何将 Python 脚本转换为 Lua 脚本?

java - 在java 8中合并try catch

java - 在Java中catch后重做try

powershell - 如何防止 $error 收集捕获的异常?

java - 使用 XSLT 复制时删除 XML 命名空间

java - 将 pom.xml 打包到 JAR 时替换变量

java - 在 Java 中实现 Vector 类的构造函数签名问题

java - 循环时出现 ArrayIndexOutOfBoundsException

c# - 读取 XML 时在 IEnumerable 中构建 Try-Catch