|
|
1
17
因为在try中有一个返回语句。 |
|
|
2
3
代码中只有两个可能的执行路径。
…按预期工作,下一行返回:
2。发生异常并执行catch块中的返回。 给定这两条路径,就永远无法到达第三个RETURN语句。 |
|
|
3
2
因为在try块的末尾还有一个返回。 |
|
4
1
因为你也有回报 尝试 块,因此无论什么,在try-catch构造中都会到达一个返回。 |
|
|
5
1
您所拥有的基本上等同于以下各项:
现在,你为什么还有两个陈述?没错,你不会的。 |
|
|
6
0
虽然以上都是正确的,但其原因是您的代码要么通过快乐的路径成功地处理和返回,要么抛出一个异常并进行相应的处理,因此本质上,您已经提供了一个if/else执行路径。编译器永远不会到达第三个返回语句。如果您从catch块中删除了return false,则警告将消失。如果以某种方式处理检查的异常(重新抛出堆栈),则会收到相同的警告,因为代码将按预期返回或抛出异常(另一个if/else执行路径)。 |
|
|
7
-1
只是重申一下,不要将try/catch块用于逻辑流。catch块应用于优雅地处理异常/错误。其次,任何未声明为void的函数都必须返回某种形式的声明类型,在您的情况下是布尔值。 可能的解决方案
|
|
|
lfox · 如果列中不存在某个值,则停止代码执行 4 年前 |
|
juztcode · 在C++中尝试捕获-创建了多少个对象 8 年前 |
|
|
Novic · 结果不明确时如何使用tryCatch 8 年前 |
|
|
Jacob Nelson · 多次尝试表达式,直到在R中成功 8 年前 |
|
|
Mert Yücel · 如何在布尔方法中引发三个异常? 8 年前 |
|
|
Jatt · 捕获从setInterval内部引发的异常 8 年前 |