![]() |
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的函数都必须返回某种形式的声明类型,在您的情况下是布尔值。 可能的解决方案
|
![]() |
Dimitriy Glefa · 返回和运行时 2 年前 |
![]() |
ck1987pd · python中检查循环是否未执行的最佳方法 3 年前 |
![]() |
Salman Shaukat · 如何检查函数中执行了哪个返回语句? 7 年前 |