c# - 为什么不能控制留下 finally 声明?

标签 c# try-catch

当我在 finally 语句 block 中放置一个 return 时,编译器告诉我:

Control cannot leave the body of a finally clause

例子:

try
{
}
catch
{
}
finally
{
    return;
}

这是为什么?

最佳答案

考虑一下如果在 try block 中return 1 并在 finally block 中return 0 会发生什么> block ...您的函数将尝试返回两个值! trycatch 的组合选项在控制流方面是详尽无遗的。

关于c# - 为什么不能控制留下 finally 声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16031985/

相关文章:

c# - 在运行时动态更改对 dll 的引用

javascript - 如何使用 WebDriverJS 捕获 Selenium 错误

java - 没有编译器错误的多个返回语句

java - java中无法捕获异常

java - 使用两个 try-catch?

c# - 如果,不等于和/或帮助(不确定是哪个)

c# - do while循环在不满足条件的情况下进入下一步

c# - 在 C# 中高效的 EDI 解析到数据库

c# - 开关语句 : "a constant value is expected"

android - 如何使用 android studio 在 kotlin 代码中添加 try/catch?