如何优雅的处理程序中的错误?
程序在运行过程中,由于网络,并发,误操作等等,难免会出现一些意料之外的问题。直接崩溃或者让使用者感知这个又不太合适,因此对于用户而言,需要一定的人性化的提示、错误描述或修复建议。
但对于开发或维护者而言,如果只有错误提示信息,这些冗长的提示并不能快速定位问题,他们需要的是一个描述错误的关键信息(摘要信息)。
因此需要一种更好的方式来管理程序错误。其中一种比较好的方式便是逻辑层返回错误码给视图层,视图层来展示错误信息/描述。
错误码的优势
核心有两个思想 索引、封装
使用错误码的优势体现在下面几个方面:
- 快速定位问题
- 无论是代码或者日志,直接搜索错误码是非常快速的
- 利于自动化处理
- 根据日志中的错误码,进行自动化处理或告警
- 使得接口调用者可以根据错误码做出一定的处理,若只有提示信息,则不能很好的进行。
- 降低沟通成本、减少信息在沟通、传递时的损耗
- 出错时,如果只根据错误信息描述,在沟通时可能出现偏差,在描述错误信息时可能会出现损耗而出现歧义或疏漏,但使用错误码不会。
- 利于流程管理
- 可以根据错误码生产文档,可能产生的错误一目了然
- 提高程序性能
- 由于错误码占用空间一般远小于错误提示信息占用空间,因此无论在网络传输或是程序处理时,效率远远高于错误提示信息