直接上代码this
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; } } //咱们传了一个id,可是当咱们抛出异常时,只会有一个message提示,没法获得咱们想要的ID信息, //这是由于父类值提供了返回message的方法
想要带出咱们定义的变量数据,使用handler便可get
@ControllerAdvice public class ControllerExceptionHandler { @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; } }
当处理exception时,直接跳到这里处理io