<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # :-: 異常處理 ``` 通常一個web框架中,有大量需要處理的異常。比如業務異常,權限不足等等。前端通過彈出提示信息的方式告訴用戶出了什么錯誤。 通常情況下我們用try.....catch....對異常進行捕捉處理,但是在實際項目中對業務模塊進行異常捕捉,會造成代碼重復和繁雜, 我們希望代碼中只有業務相關的操作,所有的異常我們單獨設立一個類來處理它。全局異常就是對框架所有異常進行統一管理。 我們在可能發生異常的方法里throw拋給控制器。然后由全局異常處理器對異常進行統一處理。 如此,我們的Controller中的方法就可以很簡潔了。 ``` 所謂全局異常處理器就是使用@ControllerAdvice注解。示例如下: ~~~ package com.hjf.common.exception; import com.hjf.common.config.CodeUtil; import com.hjf.common.base.BaseResp; import com.hjf.common.util.JsonUtil; import com.hjf.common.util.web.ResponseUtils; import com.hjf.core.spring.WebUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.ObjectError; 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 java.util.HashMap; import java.util.Map; /** * 全局異常處理類 */ @ResponseBody @ControllerAdvice @Slf4j public class MyControllerAdvice { /** * 參數校驗異常處理 */ @ExceptionHandler(MethodArgumentNotValidException.class) public BaseResp MethodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) { // 從異常對象中拿到ObjectError對象 ObjectError objectError = e.getBindingResult().getAllErrors().get(0); // 然后提取錯誤提示信息進行返回 log.error("【參數校驗異常處理】"+objectError.getDefaultMessage()); return BaseResp.failMsg(objectError.getDefaultMessage()); } /** * 通用異常處理 */ @ExceptionHandler(value = Exception.class) public void errorHandle(Exception e){ log.error("【系統異常處理】"+e.getMessage()); Map<String,Object> map = new HashMap<String,Object>(); map.put("code", CodeUtil.error); map.put("msg","抱歉系統發生了點小問題"); String json= JsonUtil.obj2Json(map); ResponseUtils.renderJson(WebUtils.getResponse(), json); } // /** // * 通用異常處理 // */ // @ExceptionHandler(value = Exception.class) // public Map<String,Object> errorHandle(Exception e){ // log.error("【系統異常處理】"+e.getMessage()); // Map<String,Object> map = new HashMap<String,Object>(); // map.put("code", CodeUtil.error); // map.put("msg","抱歉系統發生了點小問題"); // return map; // } // /** // * 通用異常處理 // */ // @ExceptionHandler(value = CommonException.class) // public Map<String,Object> commonErrorHandle(Exception e){ // log.error("【通用異常處理】"+e.getMessage()); // Map<String,Object> map = new HashMap<String,Object>(); // map.put("code", CodeUtil.error); // map.put("msg",e.getMessage()); // return map; // } /** * 通用異常處理 */ @ExceptionHandler(value = CommonException.class) public void commonErrorHandle(Exception e){ log.error("【通用異常處理】"+e.getMessage()); Map<String,Object> map = new HashMap<String,Object>(); map.put("code", CodeUtil.error); map.put("msg",e.getMessage()); String json= JsonUtil.obj2Json(map); ResponseUtils.renderJson(WebUtils.getResponse(), json); } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看