码迷,mamicode.com
首页 > 编程语言 > 详细

c++中怎么实现Java中finally语句

时间:2015-02-09 14:02:58      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

所有学习c++的书籍都明确提出了,不要使用goto, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

但是我们遇到这样一个场景怎么办:就是不管程序执行成功与否,都要执行一些资源释放语句,相当java中的finally语句。c++的中没有finally的支持,即使使用try catch,资源释放也需要写两次,执行成功一次,catch中一次。使用goto可以很优雅的实现了finally.

void fun()
{
    INT32 rc=OK;    
    rc=doSomeThing();
    check(rc);   //   if(rc!=OK) goto error;
    done:
      releaseSource(); //施放资源,done是一定要执行的语句快
        return rc;  
    error:
        goto done;
}

 

c++中怎么实现Java中finally语句

标签:

原文地址:http://www.cnblogs.com/gaoxing/p/4281366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!