免费注册 查看新帖 |

Chinaunix

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

[C++] 有人会在程序中try catch吗? [复制链接]

论坛徽章:
0
41 [报告]
发表于 2008-08-18 17:55 |只看该作者
我感觉还是应该对确切的地方作确切的处理

论坛徽章:
0
42 [报告]
发表于 2008-08-19 21:17 |只看该作者
呵呵,java中恰恰相反,使用一些不可控的资源必须要用try catch,否则编译都通不过。
关键是try catch 的结构比较清晰,将来容易维护。

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
43 [报告]
发表于 2008-08-20 00:04 |只看该作者
我偶尔把异常用在类构造函数中, 谁叫它不能返回值呢

try{
    new obj;
}catch(...){}

这样可以在构造函数中做些允许失败的东西了

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
44 [报告]
发表于 2008-08-20 00:11 |只看该作者
原帖由 reiase 于 2008-8-11 11:55 发表
这里有篇文章,讲C++异常的实现
http://baiy.cn/doc/cpp/C++%E5%BC ... %88%86%E6%9E%90.htm
个人感觉有点想C里边的l ...


在catch里面free嘛, 编码小心点还是能做到的

论坛徽章:
0
45 [报告]
发表于 2008-08-20 10:29 |只看该作者
原帖由 zylthinking 于 2008-8-20 00:04 发表
我偶尔把异常用在类构造函数中, 谁叫它不能返回值呢

try{
    new obj;
}catch(...){}

这样可以在构造函数中做些允许失败的东西了




你违反了另一条规则:不要在构造函数里面做太复杂的事情。

坏的代码风格就像多米诺骨牌一样,有了一个坏的风格就会需要另一个坏的风格来弥补。

论坛徽章:
0
46 [报告]
发表于 2008-08-20 10:32 |只看该作者
原帖由 zylthinking 于 2008-8-20 00:11 发表


在catch里面free嘛, 编码小心点还是能做到的



这样做有两个坏处:

1、代码会变得非常难看。到处都是delete、free这样的代码。
2、程序员会很紧张。因为程序员也是人,难免会遗漏一些东西。

[ 本帖最后由 wwwsq 于 2008-8-20 10:35 编辑 ]

论坛徽章:
0
47 [报告]
发表于 2008-08-20 13:25 |只看该作者
写Java程序时会用,写C不用,C++用得少

论坛徽章:
0
48 [报告]
发表于 2008-08-20 18:42 |只看该作者
1、最好统一处理,要用就都用,要不用就都不用。
2、Symbian C++ 就是用了自己的一套异常处理(leave)。
3、我个人习惯于使用 Exception Handling。

Java 里面如果不让异常抛出来,程序员可能都不知道发生了什么,感觉怪怪的。



[ 本帖最后由 langue 于 2008-8-20 18:46 编辑 ]

论坛徽章:
0
49 [报告]
发表于 2008-08-20 18:45 |只看该作者
原帖由 wwwsq 于 2008-8-20 10:32 发表



这样做有两个坏处:

1、代码会变得非常难看。到处都是delete、free这样的代码。
2、程序员会很紧张。因为程序员也是人,难免会遗漏一些东西。


个人觉得,如果不存在遗漏就不会有软件版本更新。遗漏有时不仅是难免的,更是必然的。



[ 本帖最后由 langue 于 2008-8-20 19:21 编辑 ]

论坛徽章:
0
50 [报告]
发表于 2008-08-20 19:18 |只看该作者
原帖由 langue 于 2008-8-20 18:45 发表


个人觉得,如果不存在遗漏就不会有软件版本更新。遗漏不仅是难免的,更是必须的。


遗漏是必然的,但总是停留在低级遗漏上确不是
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP