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访问不到的解决方案

    这篇文章主要介绍了Springboot下swagger-ui.html访问不到的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • JAVA如何把数据库的数据处理成树形结构

    JAVA如何把数据库的数据处理成树形结构

    本文介绍了JAVA如何把数据库的数据处理成树形结构,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Mybatis中的resultType和resultMap查询操作实例详解

    Mybatis中的resultType和resultMap查询操作实例详解

    resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,resultMap解决复杂查询是的映射问题。这篇文章主要介绍了Mybatis中的resultType和resultMap查询操作实例详解,需要的朋友可以参考下
    2016-09-09
  • Java 常见的几种内存溢出异常的原因及解决

    Java 常见的几种内存溢出异常的原因及解决

    这篇文章主要介绍了Java 常见的几种内存溢出异常及解决,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-04-04
  • SpringBoot Validation提示信息国际化配置方式

    SpringBoot Validation提示信息国际化配置方式

    这篇文章主要介绍了SpringBoot Validation提示信息国际化配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Java重写equals及hashcode方法流程解析

    Java重写equals及hashcode方法流程解析

    这篇文章主要介绍了Java重写equals及hashcode方法流程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • mybatis-plus用insertBatchSomeColumn方法批量新增指定字段

    mybatis-plus用insertBatchSomeColumn方法批量新增指定字段

    mybatisPlus底层的新增方法是一条一条的新增的,下面这篇文章主要给大家介绍了关于mybatis-plus用insertBatchSomeColumn方法批量新增指定字段的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Java并发编程之ConcurrentLinkedQueue源码详解

    Java并发编程之ConcurrentLinkedQueue源码详解

    今天带小伙伴们学习一下Java并发编程之Java ConcurrentLinkedQueue源码,本篇文章详细分析了ConcurrentLinkedQueue源码,有代码示例,对正在学习java的小伙伴们很有帮助哟,需要的朋友可以参考下
    2021-05-05
  • Java 垃圾回收超详细讲解记忆集和卡表

    Java 垃圾回收超详细讲解记忆集和卡表

    卡表就是记忆集的一种具体实现,它定义了记忆集的记录精度、与堆内存的映射关系等。 关于卡表与记忆集的关系,不妨按照Java语言中HashMap与Map的关系来类比理解。记忆集是一种用于记录从非收集区域指向收集区域的指针集合的抽象数据结构
    2022-04-04
  • Springboot配置图片虚拟映射示例代码

    Springboot配置图片虚拟映射示例代码

    这篇文章主要给大家介绍了关于Springboot配置图片虚拟映射的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用springboot具有一定的参考学习价值,需要的朋友可以参考下
    2021-11-11

最新评论