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;
 }
}

完美!!!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java基础之Filter的实例详解

    Java基础之Filter的实例详解

    这篇文章主要介绍了Java基础之Filter的实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • 一文详解Spring是怎么读取配置Xml文件的

    一文详解Spring是怎么读取配置Xml文件的

    这篇文章主要介绍了一文详解Spring是怎么读取配置Xml文件的,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-08-08
  • 简单介绍区分applet和application的方法

    简单介绍区分applet和application的方法

    applet和application都是Java语言编写出来的应用程序,本文简单介绍了二者的不同之处,需要的朋友可以参考下
    2017-09-09
  • Java ConcurrentHashMap的使用示例

    Java ConcurrentHashMap的使用示例

    这篇文章主要介绍了Java ConcurrentHashMap的使用示例,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-04-04
  • Spring的编程式事务和声明式事务详解

    Spring的编程式事务和声明式事务详解

    这篇文章主要介绍了Spring的编程式事务和声明式事务的相关内容,涉及Spring事务属性、Spring事务的基本类等知识,需要的朋友可以了解下。
    2017-09-09
  • 程序猿必须要掌握的多线程安全问题之锁策略详解

    程序猿必须要掌握的多线程安全问题之锁策略详解

    在笔者面试过程时,经常会被问到各种各样的锁,如乐观锁、读写锁等等,非常繁多,在此做一个总结,介绍的内容如下,需要的朋友可以参考下
    2021-06-06
  • idea环境下Maven无法正常下载pom中配置的包问题

    idea环境下Maven无法正常下载pom中配置的包问题

    这篇文章主要介绍了idea环境下Maven无法正常下载pom中配置的包的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 关于JVM翻越内存管理的墙

    关于JVM翻越内存管理的墙

    这篇文章主要介绍了JVM翻越内存管理的墙,由虚拟机管理内存看起来一切都很美好,但也正是因为把控制内存的权力交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,就不得不从Java虚拟机角度上去排查问题,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Java非静态成员变量之死循环(详解)

    Java非静态成员变量之死循环(详解)

    下面小编就为大家带来一篇Java非静态成员变量之死循环(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • SpringBoot开发实战之自动配置

    SpringBoot开发实战之自动配置

    SpringBoot的核心就是自动配置,自动配置又是基于条件判断来配置Bean,下面这篇文章主要给大家介绍了关于SpringBoot开发实战之自动配置的相关资料,需要的朋友可以参考下
    2021-08-08

最新评论