C#面:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

250 篇文章 19 订阅

当try块中有return语句时,紧跟在try块后的finally块中的代码仍然会被执行。finally块中的代码会在return语句执行之前被执行。

无论try块中是否有异常抛出,finally块中的代码都会被执行。如果try块中没有发生异常,那么finally块中的代码会在try块中的return语句执行之后被执行。如果try块中发生了异常,那么异常会被捕获并处理,然后finally块中的代码会在异常处理完毕后被执行。

以下是一个示例代码,演示了try块中有return语句时finally块的执行顺序:

public static int Test()
{
    try
    {
        return 1;
    }
    finally
    {
        Console.WriteLine("Finally block is executed.");
    }
}

在上述示例中,无论try块中的return语句是否被执行,finally块中的代码都会被执行。当调用Test方法时,控制台会输出“Finally block is executed.”。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那个那个鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值