- 主题:异常这玩意儿当初是哪个脑残发明出来的?
- 然后有个区域总和你说,大领导和我是单线联系,你爱咋样就咋样吧
 
 
 【 在 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.*