由买买提看人间百态
登录
首页
论坛
未名存档
话题女王
小圈子
马甲追踪
版面排名
流量曲线
水枪排名
发帖量曲线
发帖版面饼图
发帖时间柱图
关于本站
帮助
boards
本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字
访问原贴
JobHunting版
- 问个弱问题:为啥要设立throw exception这种机制呢?
相关主题
●
Samsung实习电话面试
●
Two C++ questions from Bloomberg on-site
●
一周多了。。。等的太不淡定了。。。 说两个面经吧
●
Bloomberg Phone Interview
●
请教一个C++的题目
●
请教个java exception的问题
●
MS onsite面经
●
C++ Q53: throw (C7)
●
被问到一道题: how to design a xml parser.
●
一个c++题(exception handling)
●
租房网电面一题
●
问个bb的面试题
●
有人来我脸吗
●
实现regex(.*+)和wildcard(?*)匹配的题
●
吐槽一下某初创公司
●
select2perform上面C++测试挺头疼的
相关话题的讨论汇总
话题: exception
话题: 异常
话题: throw
话题: 机制
话题: 错误
进入JobHunting版参与讨论
1
(共1页)
s****A
发帖数: 80
1
遇到错误用if语句不就可以写处理的code了吗?
如果出现错误或者异常,不就是打印一下错误信息然后return吗?
那throw exception有什么特别的呢?
l*****a
发帖数: 14598
2
你怎么判断OutOfMemory?何时判断,判断完做什么
【在 s****A 的大作中提到】
: 遇到错误用if语句不就可以写处理的code了吗?
: 如果出现错误或者异常,不就是打印一下错误信息然后return吗?
: 那throw exception有什么特别的呢?
w****a
发帖数: 710
3
举个例子,
比如你在写一个脚本解析器,你编译脚本过程中检查脚本是否有语法错误。但是你的检
查机制可能在很多初。如果你每次检查到语法错误的时候仅仅是打印下错误信息,这个
显然不行,因为你可能不需要打印信息而是要返回具体的错误描述,要写到日志里。如
果仅仅是return,这个也不行,你在你的解析器里return,外面也不知道。如果是传统
方法的话,一般可以写到一个全局的错误收集器里,可以通过GetLastError之类的函数
来获取上一次出错的错误编号和具体内容。这个是传统做法。
如果使用exception机制,查到错误时直接抛出异常。你抛出异常,可以由不同的地方
catch。catch后可以随意处理,可以跳过,也可以直接警告输出个消息,也可以崩溃。
比如上面的例子:
try{
script_parser.parse(script);
}catch(XXXScriptExcept& e){
printf(e.what());
}
传统做法的代码是:
int err = script_parser.parse(script);
if(err!=0){
printf(GetErrorDesc(err));
}
异常处理这种方法一般显得优雅一点,结构更好,更OO。底层处理的时候,可以完全不
关心怎么解决异常,而交给用户去解决,这样可以把功能实现和异常处理分离开来。但
是相对来说效率更低,而且存在函数多个出口,对调试有不便的地方。
传统方法也是完全可以取代OO的异常处理的。而且效率更高。更多时候看你如何取舍。
据我所知,有些软件是禁止用异常处理机制的。有些则比较鼓励使用。
1
(共1页)
进入JobHunting版参与讨论
相关主题
●
select2perform上面C++测试挺头疼的
●
被问到一道题: how to design a xml parser.
●
发帖铭记深刻的Java教训。
●
租房网电面一题
●
G家电面
●
有人来我脸吗
●
实现vector的iterator,template问题
●
吐槽一下某初创公司
●
Samsung实习电话面试
●
Two C++ questions from Bloomberg on-site
●
一周多了。。。等的太不淡定了。。。 说两个面经吧
●
Bloomberg Phone Interview
●
请教一个C++的题目
●
请教个java exception的问题
●
MS onsite面经
●
C++ Q53: throw (C7)
相关话题的讨论汇总
话题: exception
话题: 异常
话题: throw
话题: 机制
话题: 错误
未名新帖统计
// 7月16日
#
版面
帖数(主题数)
-
全站
4871 (796)
1
Military
3777 (569)
2
Stock
341 (51)
3
Joke
117 (17)
4
History
116 (3)
5
Automobile
100 (9)
6
USANews
55 (9)
7
Midlife
45 (1)
8
Headline
41 (41)
9
Dreamer
33 (13)
10
FleaMarket
32 (20)
11
Living
30 (7)
* 这里只显示发帖超过25的版面,努力灌水吧:-)
历史上的今天
faintcat妹妹看进来~~
发表于12年前.
NSC, PD 1/7/2007, EB2, ...
发表于11年前.
[FBA求购]MJVE2 758 MJVM2 ...
发表于6年前.
老生常谈,归与不归
发表于10年前.
【申请】Seattle西雅图 版版主——申请人...
发表于9年前.
宝宝出生,头骨骨折,求祝福
发表于9年前.
求推荐舒缓优美的古典音乐
发表于11年前.
百分之一的北京人上北大 中国网友愤怒(转载)
发表于10年前.
新人带狗狗Bailey来报道
发表于12年前.
全世界最有价值的运动队
发表于10年前.
请问大切诺基的质量如何
发表于6年前.
TNND,军版全是BKC
发表于15年前.
Inception
发表于12年前.
微软的有些家属可真恶心,为了卖保险脸都不要了
发表于10年前.
每周坐高铁的苦逼来说说感受吧!!
发表于9年前.