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利用for循环打印菱形的实例教程

    Java利用for循环打印菱形的实例教程

    这篇文章主要给大家介绍了关于Java利用for循环打印菱形的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 深入理解Spring Boot属性配置文件

    深入理解Spring Boot属性配置文件

    这篇文章主要给大家深入的介绍了关于Spring Boot属性配置文件的相关资料,文中介绍的很详细,相信对大家具有一定的参考借鉴价值,需要的朋友们下面来一起看看吧。
    2017-02-02
  • 解决IDEA导入javaWeb项目注解爆红的问题

    解决IDEA导入javaWeb项目注解爆红的问题

    这篇文章主要介绍了解决IDEA导入javaWeb项目注解爆红的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Spring Bean常用的的装配方式详解

    Spring Bean常用的的装配方式详解

    这篇文章主要介绍了Spring Bean常用的的装配方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 彻底搞懂java并发ThreadPoolExecutor使用

    彻底搞懂java并发ThreadPoolExecutor使用

    这篇文章主要为大家介绍了彻底搞懂java并发ThreadPoolExecutor使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Spring Boot和Kotlin的无缝整合与完美交融

    Spring Boot和Kotlin的无缝整合与完美交融

    这篇文章主要给大家介绍了关于Spring Boot和Kotlin的无缝整合与完美交融的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • Java内部类的使用教程详解

    Java内部类的使用教程详解

    在Java中,有些类可以被定义在另一个类的内部,我们把在一个类里面定义的类称为内部类。本文主要介绍了Java内部类的使用,需要的可以参考一下
    2023-04-04
  • SpringBoot通过ip获取归属地的几种方式分享

    SpringBoot通过ip获取归属地的几种方式分享

    在日常我们逛网站的时候会发现我们登录后会出现归属地信息,例如:我在广州登录会显示广东广州,有些更加精确的会显示到区县,那么我们来看看有哪些方式来获取归属地信息,今天我们来聊一聊
    2023-09-09
  • Zookeeper原理及在Dubbo中的使用示例详解

    Zookeeper原理及在Dubbo中的使用示例详解

    这篇文章主要为大家介绍了Zookeeper原理及在Dubbo中的使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • SpringMVC与Mybatis集合实现调用存储过程、事务控制实例

    SpringMVC与Mybatis集合实现调用存储过程、事务控制实例

    这篇文章主要介绍了SpringMVC与Mybatis集合实现调用存储过程、事务控制实例,有需要的可以了解一下。
    2016-11-11

最新评论