缘由:
实际开发中,考虑到会有一些异常的情况,会使用try catch
实际线上环境中,由于try catch了,遇到异常情况不会崩溃,但是对于用户的使用来说, 点击操作后,没有任何反应
实际开发与线上环境中,由于try catch了,开发人员,无法知道是什么原因导致的try catch或者被try catch的次数的多少(说的直白一点,就是:开发人员无法知道一些被catch住的崩溃,不利于问题的及时发现)
我的观点:
测试环境:不要try catch,直接让程序崩溃--不崩溃的话,开发人员不会第一时间发现,也不会足够的重视,会忽视掉存在的问题
线上环境:从我自己的角度来说,我是不愿意用try catch;但是考虑到crash率对团队kpi的影响,要上try catch,但是必须有exception信息上报,同时附带run-time的信息,还有业务数据,尽可能多的上下文数据。(尤其是网络调用和数据传递的部分优先推荐try catch)
延伸:
基础设施的完备性考虑
run-time信息上报
crash的时时关注
实际开发中,考虑到会有一些异常的情况,会使用try catch
实际线上环境中,由于try catch了,遇到异常情况不会崩溃,但是对于用户的使用来说, 点击操作后,没有任何反应
实际开发与线上环境中,由于try catch了,开发人员,无法知道是什么原因导致的try catch或者被try catch的次数的多少(说的直白一点,就是:开发人员无法知道一些被catch住的崩溃,不利于问题的及时发现)
我的观点:
测试环境:不要try catch,直接让程序崩溃--不崩溃的话,开发人员不会第一时间发现,也不会足够的重视,会忽视掉存在的问题
线上环境:从我自己的角度来说,我是不愿意用try catch;但是考虑到crash率对团队kpi的影响,要上try catch,但是必须有exception信息上报,同时附带run-time的信息,还有业务数据,尽可能多的上下文数据。(尤其是网络调用和数据传递的部分优先推荐try catch)
延伸:
基础设施的完备性考虑
run-time信息上报
crash的时时关注
适应后,完全移除try catch(因为导致crash的原因很多,有机型,有后端返回的数据)