Java自定义异常及统一处理,信息返回
開始操作
創建enums,exception包:
enums包下:
創建BaseCodeEnum接口
創建Response類:為統一信息返回類
創建ResponseCode枚舉類:在這里定義我們需要的異常
exception包下:
創建HandlerException類:為全局統一異常處理類
創建ServiceException類:為自定義異常類
結構如下:
具體代碼
BaseCodeEnum接口:
public interface BaseCodeEnum {int getCode();String getMessage(); }ResponseCode枚舉類:
在自定義異常處根據實際情況定義自己或業務需要的異常
在實際使用拋自定義異常時,調用此類中的異常即可
Response類:
自定義異常中異常碼,異常信息,數據信息
import java.io.Serializable;public class Response<T> implements Serializable {private static final int SUCCESS_CODE = 1;private static final int ERROR_CODE = 0;private int code;private String message;private T data;private Response(int code,String message,T data){this.code=code;this.message=message;this.data=data;}private Response(int code,String message){this.code=code;this.message=message;}public static <T> Response<T> success(String msg, T data){return new Response<T>(SUCCESS_CODE,msg,data);}public static <T> Response<T> success(){return new Response<T>(SUCCESS_CODE,"success");}public static <T> Response<T> success(T data){return new Response<T>(SUCCESS_CODE,"success",data);}public static <T> Response<T> error(){return new Response<T>(ERROR_CODE,"error");}public static <T> Response<T> error(String message){return new Response<T>(ERROR_CODE,message);}public static <T> Response<T> error(int code, String message){return new Response<T>(code,message);}public static <T> Response<T> error(int code, String message, T data){return new Response<T>(ERROR_CODE,message,data);}public int getCode(){return code;}public String getMessage(){return message;}public T getData(){return data;} }HandlerException類:
本類中添加了slf4j日志,可使輸出信息更加完善
若未集成slf4j,刪除log.info……部分即可
想學習為項目添加日志?移步為SpringBoot項目添加日志:slf4j
ServiceException類:
類中使用@Data注解,可省略set,get方法
使用方法:依賴中添加lombok依賴并下載lombok插件(file–>settings–>Plugins–>Lombok–>install)
自定義異常及異常攔截統一處理完成
測試
測試項目為之前創建文章中springboot整合mybatis實現對學生表信息增刪改查項目,項目創建過程請移步SpringBoot整合MyBatis實現增刪改查(簡單,詳細)
StudentController插入信息中判斷學生學號是否為空,空則拋出在枚舉類中自定義的自定義異常,不為空則成功
使用postman測試:
第一次測試學號為空的情況:
拋出異常成功
第二次測試學號不為空的情況
信息插入成功
測試結束
總結
以上是生活随笔為你收集整理的Java自定义异常及统一处理,信息返回的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小说朗读器又增加新功能
- 下一篇: java 自定义异常错误编码