javascript
SpringBoot中定义全局异常处理器
場(chǎng)景
SpringBoot中創(chuàng)建全局異常處理器,使發(fā)生異常時(shí)能處理。
項(xiàng)目搭建專欄:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688
實(shí)現(xiàn)
在項(xiàng)目下新建handler包,在包下新建GlobalExceptionHnadler.java
package com.example.demo.handler;import java.util.HashMap; import java.util.Map;import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; //全局異常處理器 @ControllerAdvice public class GlobalExceptionHandler {@ExceptionHandler(Exception.class)@ResponseBodypublic Map<String,Object> handlerExcception(Exception e) {Map<String,Object> map = new HashMap<>();map.put("code",500);map.put("message",e.toString());return map;} }通過(guò)添加注解@ControllerAdvice實(shí)現(xiàn)。
@ExceptionHandler(Exception.class)聲明處理異常的種類,這里是所有異常。
新建Controller進(jìn)行測(cè)試
package com.example.demo.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;@Controller public class TestHandlerController {@RequestMapping("/testHandler")@ResponseBodypublic String show(){int a=5/0;return "testHandler";} }在項(xiàng)目啟動(dòng)類中添加handler包為掃描包。
@SpringBootApplication(scanBasePackages= {"com.example.demo.controller","com.example.demo.service","com.example.demo.interceptor","com.example.demo.handler"})
啟動(dòng)項(xiàng)目,訪問(wèn)
http://localhost:8080/testHandler
效果
源碼下載
https://download.csdn.net/download/badao_liumang_qizhi/11076929
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的SpringBoot中定义全局异常处理器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SpringBoot中自定义拦截器
- 下一篇: SpringBoot中整合使用Freem