java使用枚举封装错误码及错误信息详解
更新时间:2021年12月27日 11:09:17 作者:dream_lixiang
这篇文章主要介绍了java使用枚举封装错误码及错误信息,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
枚举封装错误码及错误信息
使用枚举类型来封装project中所需要的错误码和错误信息,十分方便。
用法如下
package com.dear.simpler.dbservice;
/**
*
* @author lixiang
*使用枚举类型来封装异常码和异常信息
*
*/
public enum DBServiceError {
//RPC层调用错误码
DB_SERVICE_OK(20100,"服务正常")
,DB_SERVICE_DBDAO_ERROR(20104,"返回数据库的具体异常信息")
,DB_SERVICE_SPEAKER_NOT_EXISTED(20108,"数据库中没有要查询的speaker")
,DB_SERVICE_SPEAKER_HAVE_NOT_VP(20109,"speaker中没有对应的voiceprint")
,DB_SERVICE_UNKNOWN_ERROR(20101,"未知异常")
,DB_SERVICE_AGENT_ERROR (20102, "DBServiceAgent异常")
,DB_SERVICE_NETWORK_ERROR (20103,"网络异常")
,DB_SERVICE_INVALID_FUNCTION(20105, "方法名不存在")
,DB_SERVICE_INVALID_PARAMETER(20106,"方法参数错误")
,DB_SERVICE_FUNCTION_NO_ACCESS(20107,"对此方法无访问权限");
private String msg;
private int code;
private DBServiceError(int code,String msg)
{
this.code=code;
this.msg=msg;
}
public String getMsg()
{
return this.msg;
}
public int getCode() {
return this.code;
}
}
使用时:
DBServiceError.DB_SERVICE_NETWORK_ERROR.getCode();
DBServiceError.DB_SERVICE_NETWORK_ERROR.getMsg();
封装返回结果类和枚举错误码
枚举错误码
/**
* 枚举错误码
*/
public emum ErrorCode{
FAILED(601,"操作失败"),
AUTH_ERROR(401,"认证失败"),
SYS_ERROR(500,"系统错误"),
PARAM_ERROR(400,"参数错误"),
UNKNOWN_ERROR(499,"未知错误");
private int code;
private String message;
private ErrorCode(int code, String message) {
this.code=code;
this.message=message;
}
public String getMessage() {
return this.message;
}
public int getCode() {
return this.code;
}
}
封装返回结果类
/**
* 返回结果类
*/
public class JsonResult {
private int status = 0;
private String msg = "success";
private Object data;
// 几个常用方法
public JsonResult success() {
return new JsonResult();
}
public JsonResult success(Object data) {
return new JsonResult(data);
}
public JsonResult error(ErrorCode errorCode) {
return new JsonResult(errorCode.getCode(), errorCode.getMessage());
}
public JsonResult error(int state, String message) {
return new JsonResult(state, message);
}
public JsonResult error(int state, String message, Object data) {
return new JsonResult(state, message, data);
}
// 几个构造方法
public JsonResult() {
}
public JsonResult(Object data) {
this.data = data;
}
public JsonResult(Integer state, String message) {
this.state = state;
this.message = message;
}
public JsonResult(Integer state, String message, Object data) {
this.state = state;
this.message = message;
this.data = data;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
完美!!!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Springboot下swagger-ui.html访问不到的解决方案
这篇文章主要介绍了Springboot下swagger-ui.html访问不到的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10
Mybatis中的resultType和resultMap查询操作实例详解
resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,resultMap解决复杂查询是的映射问题。这篇文章主要介绍了Mybatis中的resultType和resultMap查询操作实例详解,需要的朋友可以参考下2016-09-09
SpringBoot Validation提示信息国际化配置方式
这篇文章主要介绍了SpringBoot Validation提示信息国际化配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-02-02
mybatis-plus用insertBatchSomeColumn方法批量新增指定字段
mybatisPlus底层的新增方法是一条一条的新增的,下面这篇文章主要给大家介绍了关于mybatis-plus用insertBatchSomeColumn方法批量新增指定字段的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2023-05-05
Java并发编程之ConcurrentLinkedQueue源码详解
今天带小伙伴们学习一下Java并发编程之Java ConcurrentLinkedQueue源码,本篇文章详细分析了ConcurrentLinkedQueue源码,有代码示例,对正在学习java的小伙伴们很有帮助哟,需要的朋友可以参考下2021-05-05


最新评论