日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

品牌管理-统一异常处理

發布時間:2024/4/13 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 品牌管理-统一异常处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
統一的異常處理 @ControllerAdvice1)、編寫異常處理類,使用@ControllerAdvice。2)、使用@ExceptionHandler標注方法可以處理的異常。 package com.leon.gulimall.product.exception;import com.leon.common.exception.BizCodeEnume; import com.leon.common.utils.R; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindingResult; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.ModelAndView;import java.util.HashMap; import java.util.Map;/*** 集中處理所有異常*/ @Slf4j //@ResponseBody //@ControllerAdvice(basePackages = "com.leon.gulimall.product.controller") @RestControllerAdvice(basePackages = "com.leon.gulimall.product.controller") public class ExceptionControllerAdvice {@ExceptionHandler(value= MethodArgumentNotValidException.class)public R handleVaildException(MethodArgumentNotValidException e){log.error("數據校驗出現問題{},異常類型:{}",e.getMessage(),e.getClass());BindingResult bindingResult = e.getBindingResult();Map<String,String> errorMap = new HashMap<>();bindingResult.getFieldErrors().forEach((fieldError)->{errorMap.put(fieldError.getField(),fieldError.getDefaultMessage());});return R.error(BizCodeEnume.VAILD_EXCEPTION.getCode(),BizCodeEnume.VAILD_EXCEPTION.getMsg()).put("data",errorMap);}@ExceptionHandler(value = Throwable.class)public R handleException(Throwable throwable){log.error("錯誤:",throwable);return R.error(BizCodeEnume.UNKNOW_EXCEPTION.getCode(),BizCodeEnume.UNKNOW_EXCEPTION.getMsg());}} package com.leon.common.exception;/**** 錯誤碼和錯誤信息定義類* 1. 錯誤碼定義規則為5為數字* 2. 前兩位表示業務場景,最后三位表示錯誤碼。例如:100001。10:通用 001:系統未知異常* 3. 維護錯誤碼后需要維護錯誤描述,將他們定義為枚舉形式* 錯誤碼列表:* 10: 通用* 001:參數格式校驗* 11: 商品* 12: 訂單* 13: 購物車* 14: 物流***/ public enum BizCodeEnume {UNKNOW_EXCEPTION(10000,"系統未知異常"),VAILD_EXCEPTION(10001,"參數格式校驗失敗");private int code;private String msg;BizCodeEnume(int code,String msg){this.code = code;this.msg = msg;}public int getCode() {return code;}public String getMsg() {return msg;} }

?

總結

以上是生活随笔為你收集整理的品牌管理-统一异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。