繁体   English   中英

为什么这里不需要返回声明?

[英]Why is return statement not required here?

如果我有方法:

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

    }
}

无需返回声明。 而且,如果我们尝试在末尾添加return语句,则会产生“ unreachable statement ”错误。

为什么会这样呢? 确定程序不会从块中出来,并且会抛出异常吗?

此外,如果我们添加一个catch块而不是finally块,那么它要求在其中存在return语句。

因为您已经指定了throw语句,并且方法定义中没有其他内容。 这就是为什么。 我想就是这么简单。

return语句将不可访问,因为它将与所有情况无关地引发异常。

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

希望您知道,您可以同时保持接球和最后挡球。 因为它们服务于自己的不同目的。

Java异常

是的,可以肯定程序会抛出异常,这是您在try块中所做的第一行。

即使它不是try块中的第一条语句,您也没有catch块,因此理论上不会抛出任何其他先前抛出的异常。

可能是因为当您抛出一个错误时,执行就会停止,因此为什么最终永远不会运行。 当您捕获异常时,将继续执行,并且您将必须返回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM