异常处理
程序中的业务错误和异常都统一抛出 com.matrix.core.exception.GlobleException,全局异常。全局异常会被 com.matrix.core.exception.GlobleExceptionResolver 全局异常处理器捕获,然后进行包装处理返回可识别的错误信息给调用方。
GlobleException 提供了一些构造函数如:
public GlobleException(String errorCode, Throwable cause, Object... param)errorCode 表示错误码
错误码定义在 com.matrix.core.constance.SystemErrorCode 类中错误码对应的值信息配置在 messages-error_zh_CN.properties 文件中
如错误码700001在SystemErrorCode中的定义为/** 系统未知异常 */
String SYSTEM_UNKNOW_ERROR = "700001";
在 messages-error_zh_CN.properties 文件中的定义为700001=系统出现未知的错误,请在尝试一次或者联系系统管理员解决问题GlobleException 会自动格式化错误码中的内容,输出配置文件中配置的错误信息,使
用错误码能够统一错误提示,避免系统中提示不一的情况。请务必使用异常码创建异常
信息而不是直接写字符串。异常码支持国际化。Cause 表示异常对象
Param 表示异常码中的占位符参数
如 700004={0}操作失败 传入 Param 后{0}会被自动替换如果我们在构建异常700004 的时候传入 Param 为字符串“新增”则得到的异常结果为“新增操作失败”