
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
错误码是软件开发程序员在开发应用的时候会经常用到的一个编程技术,而本文我们就通过案例分析来简单了解一下,软件开发错误码设计方法分享。
一、错误码设计
错误码的设计是比较简单的,一般只需要定义一个数字和描述信息即可。不过想设计一套完善错误码系统还有很多需要考虑的场景。
1、错误码的分层
大部分项目错误码设计分为3级能满足业务场景,即项目、模块、错误编码。比如错误码是6位,前两位是项目码、中间两位是模块码,后两位是异常编号。以下是错误码10203的对应说明:
2、错误的表示方法:枚举or类
推荐使用枚举,因为枚举具有不可变性,且所有值都在一个文件里描述。
3、多模块错误码定义及接口定义
原始的错误定义方法是项目中所有的错误码都定义在一个类里,但是这样会随着业务的发展错误码越来越多,终导致难以维护,推荐的做法是按照项目+模块粒度定义成多个错误码枚举类。有两个问题需要考虑:
(1)项目编码、模块编码的维护:推荐另建一个枚举类统一维护
(2)异常类的统一引用:定义接口,枚举类实现接口
4、防重设计
错误码本质上就是一个数字,且每一个都需要由RD编码定义,在错误码多的项目很容易重复。佳实践是在枚举的构造方法里调用Helper类,Helper类统一维护所有的异常码,如有重复则枚举初始化失败。
5、错误扩展信息
只有错误码是不够的,还需要反馈给调用方详细的错误信息以方便修正。固定的错误信息字符串在某些场景写也是不够的,这里推荐使用slf4j打日志时使用的动态参数,这种方式相比于String.format格式的好处是不需要关心参数的类型以及记忆%s、%d等的区别,且打印日志时经常使用,降低了团队成员的学习成本。
二、错误码和异常
在日常业务开发中,对于异常使用多的还是抛出Java异常(Exception),异常又分为受检查异常(Exception)和不受检查异常(RuntimeException):
受检查的异常:这种在编译时被强制检查的异常称为"受检查的异常"。即在方法的声明中声明的异常。
不受检查的异常:在方法的声明中没有声明,但在方法的运行过程中发生的各种异常被称为"不被检查的异常"。这种异常是错误,会被自动捕获。
1、异常绑定错误码
定义两个父类,分别用于检查异常和非受检查异常。可支持传入错误码,同时需要支持原始的异常传参,这种场景会赋予一个默认的错误码,比如:500服务器内部异常
2、部分异常
使用异常能适用于大部分场景,不过对于多条目的场景不是很适合,比如需要批量保存10条记录,某些成功、某些失败,这种场景就不适合直接抛出异常。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。