• 有return如果是try catch finally运行命令


    背景:

             昨天一个朋友出去采访,遇到这样的问题:“C#  catch那里return。finally也弄它运行?”

    个人总结实践:

            1、无论有木有出现异常。finally块中代码都会运行
            2、当try和catch中有return时,finally仍然会运行

       

    详细案比例如以下(此处以没有返回值的函数进行验证):

            

           3、假设是值传递。finally中改变的值对try或catch块中return返回的值无影响假设是引用类型參数(地址传递或对象),finally中的值改变对return会产生影响

    详细案例:

          引用案例--数组类型:


            值案例--int类型:


            思考:string类型属于引用类型。那么它的返回值会受到finflly的影响吗?还是来看案例吧-----事实上string与int类型的表现一样,不会受到finally的影响:


            思考:那么在finally中加上return,会产生什么影响呢?有图有真相:


            可见。finally中是不同意出现return的。否则连编译都过不去。

            


           

    版权声明:笔者:jiankunking 资源:http://blog.csdn.net/jiankunking 本文版权归作者和CSDN合伙人,欢迎转载,但是,如果没有从本节宣布提交权限必须保留。并连接到原来的文章页给出视在位置。

  • 相关阅读:
    指针符号的优先级
    逆序链表建立和输出
    typedef关键字编写步骤
    CasePlayer2-嵌入式软件静态解析工具
    嵌入式软件测试工具和测试方法
    单元测试必要性
    基于winAMS、CasePlayer2嵌入式软件单元测试
    嵌入式软件测试软件--winAMS支持芯片
    基于模型开发 Back-to-Back测试统合工具-MC-Verifier
    单元测试工具-winAMS
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4639111.html
Copyright © 2020-2023  润新知