免费注册 查看新帖 |

Chinaunix

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

哪个语言首先提出“异常处理”,是C++吗? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-12-26 09:09 |只看该作者
异常处理,本质上不就是return嘛,不是什么了不起的技术

不过C++不告诉你那就是return,留着装13用

论坛徽章:
0
12 [报告]
发表于 2008-12-26 10:21 |只看该作者
最早引入异常处理概念的计算机语言是PL/I(ANSI,1975),之后许多语言都包括有异常处理机制,具体的有:CLU、Mesa、Ada、LISP、ML、C++、Module、Eiffel、Java、C#。

http://blog.sina.com.cn/s/blog_4b9a213d0100091p.html

[ 本帖最后由 chenzengjie 于 2008-12-26 10:23 编辑 ]

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
13 [报告]
发表于 2008-12-26 10:33 |只看该作者
c++异常那部分丢在那,还没看过。。

论坛徽章:
0
14 [报告]
发表于 2008-12-26 11:46 |只看该作者

回复 #12 lubob 的帖子

日常生活中,我们从不会考虑异常的情况。比如吃饭时你可能担心吃到一粒沙子,但你从没希望吃到一粒金子,这里的“吃到一粒金子”就是异常事件。所以,设计程序时不应该考虑异常事件。
就像自然语言有“异常”这个词语一样,提出“异常处理”也是正常的。但是如果过分地关心异常,并还专门为此造出一些碍眼的东西就不好了,比如C++里的trhow、try-catch等。

论坛徽章:
0
15 [报告]
发表于 2008-12-26 13:06 |只看该作者
原帖由 xyk6 于 2008-12-26 11:46 发表
日常生活中,我们从不会考虑异常的情况。比如吃饭时你可能担心吃到一粒沙子,但你从没希望吃到一粒金子,这里的“吃到一粒金子”就是异常事件。所以,设计程序时不应该考虑异常事件。
就像自然语言有“异常”这个词语一样,提出“异常处理”也是正常的。但是如果过分地关心异常,并还专门为此造出一些碍眼的东西就不好了,比如C++里的trhow、try-catch等。


所以我再重复我在#9楼说的:

不要考虑异常,因为异常的情况能想多少就有多少,如果你非要考虑处理所有异常,唯一的办法就是什么都不做。
所以,try-catch 又是C++制造的一个没有回收价值的废品!

论坛徽章:
0
16 [报告]
发表于 2008-12-26 17:27 |只看该作者
不知C的longjmp()算不算异常处理

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
17 [报告]
发表于 2008-12-26 18:51 |只看该作者
原帖由 reiase 于 2008-12-26 09:09 发表
异常处理,本质上不就是return嘛,不是什么了不起的技术

本质上也不是 return

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
18 [报告]
发表于 2008-12-26 18:52 |只看该作者
原帖由 xyk6 于 2008-12-26 11:46 发表
日常生活中,我们从不会考虑异常的情况。

不考虑么?那你家里出去锁门么?

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
19 [报告]
发表于 2008-12-26 18:54 |只看该作者
原帖由 xyk6 于 2008-12-26 13:06 发表


不要考虑异常,因为异常的情况能想多少就有多少,如果你非要考虑处理所有异常,唯一的办法就是什么都不做。

考虑异常 != 考虑所有异常。你在偷换概念了

论坛徽章:
0
20 [报告]
发表于 2008-12-26 19:16 |只看该作者
原帖由 MMMIX 于 2008-12-26 18:51 发表

本质上也不是 return

记得以前讨论过这个问题,C++里异常的实现与return类似,其他语言里,异常可能由解释器或虚拟机抛出
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP