[英]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.