关于对异常的处理也是我们在开发过程一个比较大的问题,今天我们就来看看 SpringBoot 中如何处理异常。
TempException.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package com.priv.gabriel.exception; import lombok.AllArgsConstructor; import lombok.Data; /** * Created with Intellij IDEA. * * @Author: Gabriel * @Date: 2018-10-23 * @Description: */ @Data @AllArgsConstructor public class TempException extends RuntimeException { private String code; private String message; }
需要继承 RuntimeException 事物才会进行回滚 GlobalExceptionHandler.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package com.priv.gabriel.exception.handler;import com.priv.gabriel.exception.TempException;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 { @ResponseBody @ExceptionHandler(value = TempException.class) public TempException tempErrHandler (TempException e) { TempException exception = new TempException (e.getCode(),e.getMessage()); return exception; } }
DemoController.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package com.priv.gabriel.controller;import com.priv.gabriel.exception.TempException;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController @RequestMapping("/demo") public class DemoController { @RequestMapping("/index") public String index () { throw new TempException ("111" ,"没找到对象" ); } }
项目下载地址