代碼
1、控制器出現異常的方法
@RequestMapping("/testException")
public String testException(){
int j = 10/0;
return "testException";
}
2、新建一個處理異常的類GlobalHandlerException.java
package com.zl.exception;
import org.springframework.http.HttpStatus;
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.ResponseStatus;
import java.util.HashMap;
import java.util.Map;
/**
* 控制器異常處理類
*/
@ControllerAdvice
public class GlobalHandlerException {
@ExceptionHandler(ArithmeticException.class) // 當出現算術異常的時候都會進入這個方法來處理
@ResponseStatus(value= HttpStatus.INTERNAL_SERVER_ERROR) // 返回狀態碼
@ResponseBody // 返回json
public Map<String,Object> testException(ArithmeticException ex){
Map<String,Object> result = new HashMap<>();
result.put("code",HttpStatus.INTERNAL_SERVER_ERROR.value());
result.put("msg",ex.getMessage());
return result;
}
}