SpringBoot 默认400,500 异常处理,自定义异常处理
在resources 目录下 创建 resources/error 即可,浏览器访问会跳转至定义的页面中

ajax请求自定义异常处理 消息
UserNotExistException .java
package com.imooc.exception;
public class UserNotExistException extends RuntimeException {
private static final long serialVersionUID = -6112780192479692859L;
private String id;
public UserNotExistException(String id) {
super("user not exist");
this.id = id;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
ControllerExceptionHandler .java
package com.imooc.web.controller;
import java.util.HashMap;
import java.util.Map;
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 com.imooc.exception.UserNotExistException;
/**
* 自定义异常处理响应内容
*/
@ControllerAdvice
public class ControllerExceptionHandler {
// 抛出 UserNotExistException 异常都会被拦截
@ExceptionHandler(UserNotExistException.class)
@ResponseBody
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public Map<String, Object> handleUserNotExistException(UserNotExistException ex) {
Map<String, Object> result = new HashMap<>();
result.put("id", ex.getId());
result.put("message", ex.getMessage());
return result;
}
}
业务逻辑中抛出异常


浙公网安备 33010602011771号