自定义异常处理

直接上代码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

相关文章
相关标签/搜索