1

我们真的需要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的原因很多,有机型,有后端返回的数据)

我要吃猪头
305 声望7 粉丝

我就爱吃猪头