由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 大家对 exception 都是怎么处理的?
相关主题
Java的例外处理问题什么情况下不用写throws弱问:c++里面throw就相当于return了吧?
一道编程题 - throw ExceptionsC++ 的 exception handling
C++ try {} catch(...){} 能扑捉一切异常吗?C++的exception大家常用吗?
真是痛恨喜欢 throw 的猪为什么用try catch不住exception?
c++:exception 一问请问 为何 如下代码 catch 不到 overflow exception。
try catch questionjs try catch finally question
Exception 问题求助问个基本的design问题
出一道C++题[分享]Spring in Action 第四版
相关话题的讨论汇总
话题: exception话题: 处理话题: catch话题: function话题: c++
进入Programming版参与讨论
1 (共1页)
x*******i
发帖数: 273
1
程序的结构层次比较多,很多exception从里面的层次扔出来,为了简化处理模式,我
就在最外层加try-catch. 组里的人review code的时候说这样不好,大家讨论一下自己
的code都是怎么做的?
P********e
发帖数: 2610
2
里面出问题了,当然里面throw啊

【在 x*******i 的大作中提到】
: 程序的结构层次比较多,很多exception从里面的层次扔出来,为了简化处理模式,我
: 就在最外层加try-catch. 组里的人review code的时候说这样不好,大家讨论一下自己
: 的code都是怎么做的?

x*******i
发帖数: 273
3
里面当然throw了,问题是在那里try-catch. 我在最外层才try-catch, 这样的好处是
比较简单。但是有人的意见不同,认为要马上处理,在内部加try-catch.
c*****t
发帖数: 1879
4
得看是什么 exception,同时该 exception 是否 violate 执行该 function
的 assumption 。
比如,某 function 的 assumption 是出问题 throw A。但是该 function
又执行其他 function (可能会出现 B exception)。这时候你得将所有
非 A 的 exception 给 catch 了,然后 wrap 到 A 里面(或者提供正确
的错误信息)。否则,很可能造成非常奇怪的 bug 。如果用的语言提供
checked + unchecked exception,要非常注意两个 exception 都得给
catch 住(以前碰到过别人的 code 里的这种 bug)。
有些情况是,该 function 明确的 assume 可能会出现 A,但是也可能会
有 B。这种情况下,该 function 可以不 catch B 。

【在 x*******i 的大作中提到】
: 程序的结构层次比较多,很多exception从里面的层次扔出来,为了简化处理模式,我
: 就在最外层加try-catch. 组里的人review code的时候说这样不好,大家讨论一下自己
: 的code都是怎么做的?

g*****y
发帖数: 7271
5
C++ 还是 Java ??
如果是 Java,并且有 resource leak,那就只能 catch 了
如果是 C++,就看你能不能处理这个exception了。能处理就catch之,不然就没必要了
。如果只是catch然后re-throw成好理解的错误,我觉得不需要在特别内部的地方做,
最多在很靠外围的大模块做一两级就了不得了。

【在 x*******i 的大作中提到】
: 程序的结构层次比较多,很多exception从里面的层次扔出来,为了简化处理模式,我
: 就在最外层加try-catch. 组里的人review code的时候说这样不好,大家讨论一下自己
: 的code都是怎么做的?

g*****y
发帖数: 7271
6
You can refer to this link for some C++ exception advice.
http://www.parashift.com/c++-faq-lite/exceptions.html
refer to section 17.12 & 17.13

【在 x*******i 的大作中提到】
: 程序的结构层次比较多,很多exception从里面的层次扔出来,为了简化处理模式,我
: 就在最外层加try-catch. 组里的人review code的时候说这样不好,大家讨论一下自己
: 的code都是怎么做的?

f**y
发帖数: 138
7
How do your code do clean up if the leaf of your code allocates objects from
the heap and you only catch the exceptions at the root?
g*****y
发帖数: 7271
8
google raii (so-called Resource Acquisition Is Initialization)

from

【在 f**y 的大作中提到】
: How do your code do clean up if the leaf of your code allocates objects from
: the heap and you only catch the exceptions at the root?

1 (共1页)
进入Programming版参与讨论
相关主题
[分享]Spring in Action 第四版c++:exception 一问
node promise发出reject之后,是不是只能hit catch block ?try catch question
问几个C++面试题吧Exception 问题求助
stl的一个问题出一道C++题
Java的例外处理问题什么情况下不用写throws弱问:c++里面throw就相当于return了吧?
一道编程题 - throw ExceptionsC++ 的 exception handling
C++ try {} catch(...){} 能扑捉一切异常吗?C++的exception大家常用吗?
真是痛恨喜欢 throw 的猪为什么用try catch不住exception?
相关话题的讨论汇总
话题: exception话题: 处理话题: catch话题: function话题: c++