java使用枚舉封裝錯誤碼及錯誤信息詳解
枚舉封裝錯誤碼及錯誤信息
使用枚舉類型來封裝project中所需要的錯誤碼和錯誤信息,十分方便。
用法如下
package com.dear.simpler.dbservice;
/**
*
* @author lixiang
*使用枚舉類型來封裝異常碼和異常信息
*
*/
public enum DBServiceError {
//RPC層調(diào)用錯誤碼
DB_SERVICE_OK(20100,"服務(wù)正常")
,DB_SERVICE_DBDAO_ERROR(20104,"返回數(shù)據(jù)庫的具體異常信息")
,DB_SERVICE_SPEAKER_NOT_EXISTED(20108,"數(shù)據(jù)庫中沒有要查詢的speaker")
,DB_SERVICE_SPEAKER_HAVE_NOT_VP(20109,"speaker中沒有對應(yīng)的voiceprint")
,DB_SERVICE_UNKNOWN_ERROR(20101,"未知異常")
,DB_SERVICE_AGENT_ERROR (20102, "DBServiceAgent異常")
,DB_SERVICE_NETWORK_ERROR (20103,"網(wǎng)絡(luò)異常")
,DB_SERVICE_INVALID_FUNCTION(20105, "方法名不存在")
,DB_SERVICE_INVALID_PARAMETER(20106,"方法參數(shù)錯誤")
,DB_SERVICE_FUNCTION_NO_ACCESS(20107,"對此方法無訪問權(quán)限");
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();
封裝返回結(jié)果類和枚舉錯誤碼
枚舉錯誤碼
/**
* 枚舉錯誤碼
*/
public emum ErrorCode{
FAILED(601,"操作失敗"),
AUTH_ERROR(401,"認(rèn)證失敗"),
SYS_ERROR(500,"系統(tǒng)錯誤"),
PARAM_ERROR(400,"參數(shù)錯誤"),
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;
}
}
封裝返回結(jié)果類
/**
* 返回結(jié)果類
*/
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);
}
// 幾個構(gòu)造方法
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;
}
}
完美!??!
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot下swagger-ui.html訪問不到的解決方案
這篇文章主要介紹了Springboot下swagger-ui.html訪問不到的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
JAVA如何把數(shù)據(jù)庫的數(shù)據(jù)處理成樹形結(jié)構(gòu)
本文介紹了JAVA如何把數(shù)據(jù)庫的數(shù)據(jù)處理成樹形結(jié)構(gòu),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
Mybatis中的resultType和resultMap查詢操作實例詳解
resultType是直接表示返回類型的,而resultMap則是對外部ResultMap的引用,resultMap解決復(fù)雜查詢是的映射問題。這篇文章主要介紹了Mybatis中的resultType和resultMap查詢操作實例詳解,需要的朋友可以參考下2016-09-09
SpringBoot?Validation提示信息國際化配置方式
這篇文章主要介紹了SpringBoot?Validation提示信息國際化配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
mybatis-plus用insertBatchSomeColumn方法批量新增指定字段
mybatisPlus底層的新增方法是一條一條的新增的,下面這篇文章主要給大家介紹了關(guān)于mybatis-plus用insertBatchSomeColumn方法批量新增指定字段的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
Java并發(fā)編程之ConcurrentLinkedQueue源碼詳解
今天帶小伙伴們學(xué)習(xí)一下Java并發(fā)編程之Java ConcurrentLinkedQueue源碼,本篇文章詳細(xì)分析了ConcurrentLinkedQueue源碼,有代碼示例,對正在學(xué)習(xí)java的小伙伴們很有幫助喲,需要的朋友可以參考下2021-05-05

