免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234567
最近访问板块 发新帖
楼主: lsupper
打印 上一主题 下一主题

最近在弄C++方面,突然想到C的话,出现异常情况,如何善后? [复制链接]

论坛徽章:
0
61 [报告]
发表于 2010-11-18 14:23 |只看该作者
学习中

论坛徽章:
0
62 [报告]
发表于 2010-11-18 17:00 |只看该作者
同意6L,再加上必要的初始化

论坛徽章:
0
63 [报告]
发表于 2010-11-20 11:44 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
64 [报告]
发表于 2010-11-24 19:24 |只看该作者
回复 25# shihyu

比如:

  1. int copy(char const* dst, char const* src)
  2. {
  3.       FILE *d, *s;

  4.       if (s = fopen(src, "rb"), !s)
  5.             return error; // 出口1

  6.       if (d = fopen(dst, "wb"), !d) {
  7.             fclose(s);
  8.             return error; // 出口2
  9.       }

  10.       // copy s to d ...

  11.       fclose(d);
  12.       fclose(s);

  13.       return ok; // 出口3
  14. }
复制代码

  1. int copy(char const* dst, char const* src)
  2. {
  3.       FILE *d=0, *s=0;
  4.       int result = error;

  5.       do {

  6.             if (s = fopen(src, "rb"), !s) break;
  7.             if (d = fopen(dst, "wb"), !d) break;

  8.             // copy s to d ...
  9.             result = 0;

  10.       } while (0)

  11.       if (d) fclose(d);
  12.       if (s) fclose(s);

  13.       return result; // 唯一出口
  14. }
复制代码

论坛徽章:
0
65 [报告]
发表于 2010-11-25 08:27 |只看该作者
回复 63# huazai202


    寒...

论坛徽章:
0
66 [报告]
发表于 2010-11-25 08:28 |只看该作者
回复 64# OwnWaterloo


    唯一出口,感觉不太方便查错...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP