關(guān)于對異常的處理也是我們在開發(fā)過程一個比較大的問題政钟,今天我們就來看看SpringBoot中如何處理異常雕凹。
TempException.java
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事物才會進(jìn)行回滾
GlobalExceptionHandler.java
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;
/**
* Created with Intellij IDEA.
*
* @Author: Gabriel
* @Date: 2018-10-23
* @Description:
*/
@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
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;
/**
* Created with Intellij IDEA.
*
* @Author: Gabriel
* @Date: 2018-10-23
* @Description:
*/
@RestController
@RequestMapping("/demo")
public class DemoController {
@RequestMapping("/index")
public String index(){
throw new TempException("111","沒找到對象");
}
}