c++中抛出异常比return error有哪些好处?

HeBanBei 2015-10-09 10:10:34
c++中抛出异常比return error有哪些好处?

当函数执行过程中出现错误时,
c++中抛出异常的机制与直接return error相比,
都是中止本函数的执行并将错误信息传递给主调函数。
那么,c++中抛出异常比return error有哪些好处?
...全文
574 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuh421 2015-10-12
  • 打赏
  • 举报
回复
有时候, 异常捕获做了异常处理后, 可能反而让程序的错误更容易被忽略掉, 因为你处理了异常,程序就没有什么反应了, 似乎仍然在正常执行.
super_admi 2015-10-12
  • 打赏
  • 举报
回复
1.错误判断和描述,可以交给系统和编译器来完成,自己不需要写大量的if;

2.随时随地都可以跳出当前的执行过程,且不管有多少层(用return,你每层都要判断,都要return)

总的来说,异常抛出,能使得程序更加简洁,更加可靠。
lm_whales 2015-10-12
  • 打赏
  • 举报
回复
有了异常,分工更明确了
内层代码,不必费心解决异常逻辑,
抛出异常即可,
内层异常,本层次也不是必须处处捕捉异常的
那一个层次,必须处理异常,再捕捉处理
永远有机会处理之。

返回 Error 除非当场处理,
需要层层传递,或者用全局变量记录
不然就会被忽略。
一个层次忽略了,就失去机会处理了。

赵4老师 2015-10-09
  • 打赏
  • 举报
回复
进即退 得即舍 好即坏
  • 打赏
  • 举报
回复
好处是可以一下子跳出多层的函数调用。
fefe82 2015-10-09
  • 打赏
  • 举报
回复
return error 调用者一偷懒就忽略了。 exception 忽略掉程序直接就挂了。 更容易定位原始出错的位置。
707wk 2015-10-09
  • 打赏
  • 举报
回复
引用 1 楼 fefe82 的回复:
return error 调用者一偷懒就忽略了。 exception 忽略掉程序直接就挂了。 更容易定位原始出错的位置。
+1,原来感觉不到这样的好处,直到自己写了个1000行的类之后...
ooolinux 2015-10-09
  • 打赏
  • 举报
回复
关注

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧