- 主题:异常这玩意儿当初是哪个脑残发明出来的?
然后有个区域总和你说,大领导和我是单线联系,你爱咋样就咋样吧
【 在 speedboy2998 的大作中提到: 】
: 逐级,一级对一级负责。
:
--
FROM 122.234.62.*
异常的运用场景更像: 出了问题以后,直接领导没有处理预案的时候,在工作群里大喊,然后谁能解决谁来回复
--
FROM 122.234.62.*
你捕获了以后,可以转成自己内部的错误码啊
用错误码就要判断错误码,就会多出predict branch,对延时不敏感的无所谓,对延时敏感的,差别还是很大。
【 在 speedboy2998 的大作中提到: 】
: 导致我不得不用异常,污染了我。
:
--
FROM 122.234.62.*
我用exception的准则是:
1. 函数运行时出错率<1%,也就是说错误是一个真正的小概率异常,而不是业务状态 and
2. caller没有因对错误的逻辑
运行时出错误状态>1%,说明需要把错误状态当成一个业务状态来处理,那么调用者必须要有应对这个业务状态的逻辑,如果直接领导没有应对这个业务状态的逻辑,说明组织构架有问题
--
FROM 122.234.62.*
try catch肯定不会逐级,又不能解决问题,catch到又有什么意义
exception扔出去,谁都没解决方案,直接大领导catch到,要么“那就坏菜了,先停车吧”,要么“滚粗,继续运行”
【 在 speedboy2998 的大作中提到: 】
: 你 try catch 一般也是逐级吧, 总不能像下面这样:
: [code=c]
: int main()
: ...................
--
FROM 122.234.62.*
滥用异常的,才是该死的
【 在 z16166 的大作中提到: 】
: 异常现在都是查表的,哪一层有catch宣称自己能解决,那这层在表里就会有注册handler。
: 到处滥用catch(...),就是万恶之源之一
:
--
FROM 115.45.111.*
抛异常,处理异常
跟
处理返回码的 if else
你猜哪个开销大
【 在 ziqin 的大作中提到: 】
: 你捕获了以后,可以转成自己内部的错误码啊
: 用错误码就要判断错误码,就会多出predict branch,对延时不敏感的无所谓,对延时敏感的,差别还是很大。
:
--
FROM 115.45.111.*
所以关键在判断,某一个状态到底是异常,还是正常业务状态,这个带有一定的主观性
单次异常处理开销肯定是大的,但是数量应该及其小
if else开销肯定小,但是顶不住数量大,而且会破坏代码结构
好的代码肯定两者都会用,只是程序员素质和公司业务管理构架的问题
【 在 overcomeunic 的大作中提到: 】
: 抛异常,处理异常
: 跟
: 处理返回码的 if else
: ...................
--
FROM 122.234.62.*
那就整个程序从开头到结尾用一个 try catch 给包起来,最省事。。哈哈
【 在 ziqin 的大作中提到: 】
: try catch肯定不会逐级,又不能解决问题,catch到又有什么意义
: exception扔出去,谁都没解决方案,直接大领导catch到,要么“那就坏菜了,先停车吧”,要么“滚粗,继续运行”
:
--
FROM 113.246.194.*
可以解决运算符重载之类场景的错误处理
【 在 speedboy2998 的大作中提到: 】
: 污染性太强了。。。
: 老老实实地判断返回值不好好的吗?
:
: ...................
--
FROM 221.221.153.*