C#中 Finally中不允许有return

简介:

static int i = 0; 
static public int f() 

    try 
    { 
      i= 1; 
      return i; 
    } 
     catch 
     { 
          i = -1; 
          return i;

    } 
    finally 
    { 
          i = 100; 
    }

}

int p = f(); 
Console.WriteLine(p); 
Console.WriteLine(i);

---------------

运行结果:


100

可以看出,return完了之后才会运行finally。
















本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/576715 ,如需转载请自行联系原作者


相关文章
|
2月前
|
C#
C#学习相关系列之yield和return的区别
C#学习相关系列之yield和return的区别
|
C# 编译器
C# yield return 用法与解析
原文:C# yield return 用法与解析 C# yield return 用法与解析 本文参考自:http://www.jb51.net/article/54810.htm    当初没有认真理解 yield 这个关键字,现在又遇到了依旧不理解,为了以后不再为了 yield 困惑,决定好好研究一下 yield 的用法与意义: yield 从字面上理解有“退位,屈服”的意思,转一下弯就理解成“权限转移”,也就是将控制权交给别人,在这里就是把集合里满足条件(如果没有过滤条件,就是全体)的个体的操作转移给另一个对象。
1691 0
|
C#
C#中yield return用法
转载:http://www.jb51.net/article/54810.htm         http://www.cnblogs.com/HunterWei/archive/2012/06/13/csharpyieldreturn.
826 0
|
存储 C# 数据库
C# 调用存储过程操作 OUTPUT参数和Return返回值
本文转载:http://www.cnblogs.com/libingql/archive/2010/05/02/1726104.html   存储过程是存放在数据库服务器上的预先编译好的sql语句。使用存储过程,可以直接在数据库中存储并运行功能强大的任务。
1030 0
C# 循环的中断——Break、continue、return
break——立即终止整个循环,继续循环后面的代码。 continue——立即终止当前循环(继续执行下一次循环),即仅终止当前的循环而不是整个循环。 return——跳出循环及其包含的函数。
1668 0
C# 循环的中断——Break、continue、return
break——立即终止整个循环,继续循环后面的代码。 continue——立即终止当前循环(继续执行下一次循环),即仅终止当前的循环而不是整个循环。 return——跳出循环及其包含的函数。
1142 0
C#:在catch中return,会执行finally吗?
来自博客 http://blog.csdn.net/vipxiaotian/article/details/1524059 请参考下面一段简单的语句块: 1: try 2: { 3: throw new Exception("new except...
1272 0