最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot自定義全局異常問題

 更新時間:2024年05月17日 15:01:23   作者:納蘭雨天  
這篇文章主要介紹了Springboot自定義全局異常問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Springboot自定義全局異常

自定義全局異常

bizException基礎包下封裝異常類

  • BizException:運行時業(yè)務中出現(xiàn)的異常
/**
 * @Description : 運行時業(yè)務中出現(xiàn)的異常
 * @Param :
 * @Return :
 * @Author : l-jiahui
 * @Date : 2020-10-11
 */
public class BizException extends RuntimeException {

    private static final long serialVersionUID = -7864604160297181941L;

    private final String code;

    /**
     * @Description : 指定枚舉類中的錯誤類
     * @Param : [errorCode]
     * @Return :
     * @Author : l-jiahui
     * @Date : 2020-10-11
     */
    public BizException(final BizExceptionCode exceptionCode) {
        super(exceptionCode.getMessage());
        this.code = exceptionCode.getCode();
    }
    /**
     * @Description : 指定具體業(yè)務錯誤的信息
     * @Param : [detailedMessage]
     * @Return :
     * @Author : l-jiahui
     * @Date : 2020-10-11
     */
    public BizException(final String message) {
        super(message);
        this.code = BizExceptionCodeEnum.SPECIFIED.getCode();
    }

    public String getCode() {
        return code;
    }
}
  • BizExceptionCode: 業(yè)務異常的錯誤代碼接口
/**
 * @Description : 業(yè)務異常的錯誤代碼接口
 * @Param :
 * @Return :
 * @Author : l-jiahui
 * @Date : 2020-10-11
 */

public interface BizExceptionCode {

    /**
     * @Description : 獲取錯誤代碼
     * @Param : []
     * @Return : java.lang.String
     * @Author : l-jiahui
     * @Date : 2020-10-11
     */
    String getCode();
    
    /**
     * @Description : 獲取錯誤信息
     * @Param : []
     * @Return : java.lang.String
     * @Author : l-jiahui
     * @Date : 2020-10-11
     */
    String getMessage();

}
  • BizExceptionCodeEnum:異常消息的枚舉類(此類屬于業(yè)務異常枚舉類)
/**
 * @Description : 異常消息的枚舉類(此類屬于業(yè)務異常枚舉類)
 * @Param :
 * @Return :
 * @Author : l-jiahui
 * @Date : 2020-10-11
 */
public enum BizExceptionCodeEnum implements BizExceptionCode{

    // 已指明的異常,在異常使用時message并不返回前端,返回前端的為throw新的異常時指定的message
    SPECIFIED("-1","系統(tǒng)發(fā)生異常,請稍后重試"),

    // 常用業(yè)務異常
    USER_NAME_NULL("-1","用戶名不能為空,請重新輸入!"),
    USER_PASSWORD_NULL("-1","密碼不能為空,請重新輸入!"),
    USER_PASSWORD_WRONG("-1","密碼錯誤,請檢查后重新輸入!"),
    PAGE_NUM_NULL("4001","頁碼不能為空"),
    PAGE_SIZE_NULL("4002","頁數(shù)不能為空"),
    SEARCH_NULL("4004","搜索條件不能為空,請檢查后重新輸入!"),
    NO_LOGIN("3001", "用戶未進行登錄")
    ;

    private final String code;

    private final String message;

    /**
     * @Description :
     * @Param : [code, message]
     * @Return :
     * @Author : l-jiahui
     * @Date : 2020-10-11
     */
     BizExceptionCodeEnum(String code,String message){

        this.code = code;
        this.message = message;
    }

    @Override
    public String getCode() {
        return code;
    }

    @Override
    public String getMessage() {
        return message;
    }
}

全局捕獲異常和自定義全局捕獲異常以及404處理

/**
 * @author l-jiahui
 * extend of {@link ResponseEntityExceptionHandler} for handle all exception
 * @Description: 全局捕獲異常和自定義全局捕獲異常
 */
@ControllerAdvice
public class GlobalControllerAdvice {

    /**
     * 攔截捕捉自定義異常 BizException.class
     *
     * @param bizException 自定義異常
     * @return map
     */
    @ResponseBody
    @ExceptionHandler(value = BizException.class)
    public Map<String, Object> myExceptionHandler(BizException bizException, HttpServletResponse response) {
        Map<String, Object> map = new HashMap<>(16);
        map.put("code", bizException.getCode());
        map.put("msg", bizException.getMessage());
        response.setStatus(Integer.parseInt(bizException.getCode()));
        return map;
    }

    /**
     * 增加處理404的統(tǒng)一錯誤信息
     *
     * @param response response對象
     * @return 返回map對應的對象信息
     */
    @ExceptionHandler(value = {NoHandlerFoundException.class})
    @ResponseStatus(HttpStatus.NOT_FOUND)
    @ResponseBody
    public Map<String, Object> notFoundException(HttpServletResponse response) {
        Map<String, Object> map = new HashMap<>(16);
        map.put("code", "404");
        map.put("msg", "not found exception");
        response.setStatus(404);
        return map;
    }
}

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Spring Bean常用依賴注入方式詳解

    Spring Bean常用依賴注入方式詳解

    這篇文章主要介紹了Spring Bean常用三種依賴注入方式詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • java創(chuàng)建txt文件并存入內(nèi)容

    java創(chuàng)建txt文件并存入內(nèi)容

    這篇文章主要為大家詳細介紹了java創(chuàng)建txt文件并存入內(nèi)容,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Java并發(fā)系列之CyclicBarrier源碼分析

    Java并發(fā)系列之CyclicBarrier源碼分析

    這篇文章主要為大家詳細分析了Java并發(fā)系列之CyclicBarrier源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Spring關閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案

    Spring關閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案

    這篇文章主要介紹了Spring關閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • 你知道jdk竟有4個random嗎

    你知道jdk竟有4個random嗎

    這篇文章主要給大家介紹了關于jdk中4個random的相關資料,分別是Random、ThreadLocalRandom、SecureRandom以及SplittableRandom,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-06-06
  • IDEA實現(xiàn)一鍵部署項目到服務器過程

    IDEA實現(xiàn)一鍵部署項目到服務器過程

    本文介紹了在阿里云服務器上通過開放2375端口、配置Docker及IDEA插件,實現(xiàn)項目打包、編寫Dockerfile、構建鏡像和容器,并最終通過瀏覽器訪問部署服務的全過程
    2025-10-10
  • 深入理解Java運行時數(shù)據(jù)區(qū)_動力節(jié)點Java學院整理

    深入理解Java運行時數(shù)據(jù)區(qū)_動力節(jié)點Java學院整理

    這篇文章主要介紹了Java運行時數(shù)據(jù)區(qū)的相關知識,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-06-06
  • Java中的byte & 0xff到底有什么作用?

    Java中的byte & 0xff到底有什么作用?

    這篇文章主要介紹了Java中的byte & 0xff到底有什么作用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java注解示例詳解(含底層原理)

    Java注解示例詳解(含底層原理)

    注解在現(xiàn)代Java開發(fā)中扮演著重要角色,廣泛應用于框架開發(fā)、代碼生成和運行時功能擴展,下面這篇文章主要介紹了Java注解底層原理的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-10-10
  • 如何將JSON字符串數(shù)組轉對象集合

    如何將JSON字符串數(shù)組轉對象集合

    這篇文章主要介紹了如何將JSON字符串數(shù)組轉對象集合,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論

林芝县| 交城县| 两当县| 申扎县| 得荣县| 龙门县| 东乡族自治县| 花莲市| 雷波县| 通山县| 佛坪县| 图们市| 富源县| 武功县| 舟曲县| 宜昌市| 杂多县| 汶川县| 封开县| 宁乡县| 安平县| 鄂尔多斯市| 渝中区| 康马县| 涪陵区| 宁夏| 原阳县| 宁海县| 丹阳市| 峨边| 临武县| 和林格尔县| 渝北区| 会宁县| 东乡县| 肥西县| 三都| 苗栗市| 堆龙德庆县| 客服| 盖州市|