我们真的需要try catch?
缘由:
- 实际开发中,考虑到会有一些异常的情况,会使用try catch
- 实际线上环境中,由于try catch了,遇到异常情况不会崩溃,但是对于用户的使用来说, 点击操作后,没有任何反应
- 实际开发与线上环境中,由于try catch了,开发人员,无法知道是什么原因导致的try catch或者被try catch的次数的多少(说的直白一点,就是:开发人员无法知道一些被catch住的崩溃,不利于问题的及时发现)
我的观点:
- 开发环境:不要try catch,直接让程序崩溃--不崩溃的话,开发人员不会第一时间发现,也不会足够的重视,会忽视掉存在的问题
- 线上环境:从我自己的角度来说,我是不愿意用try catch;但是考虑到crash率对团队kpi的影响,要上try catch,但是必须有exception信息上报,同时附带run-time的信息,还有业务数据,尽可能多的上下文数据
延伸:
基础设施的完备性考虑
- run-time信息上报
- crash的时时关注
- 及时修复线上问题
- 团队对于try catch的认知一致
- 适应后,完全移除try catch(因为导致crash的原因很多,有机型,有后端返回的数据)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。