其他分享
首页 > 其他分享> > springboot的错误处理

springboot的错误处理

作者:互联网

比如自定义的 HelloException \ @ResponseBody给参数赋值因为post的json不存在时候的 HttpMessageNotReadableException

不做处理的话,程序会直接相应404、500之类信息,如何接收呢

那就是用最常用也是最好用的方式,添加一个ExceptionHandle文件

/**
 * @ClassName ExceptionHandle
 * @Description 统一处理控制层的异常
 * @date 2020年3月14日 上午9:55:41
 * @version 1.0
 */
@ControllerAdvice
public class HttpMessageNotReadableExceptionHandler {

    @ExceptionHandler(HttpMessageNotReadableException.class)
    public ApiResponse<String> processException(HttpMessageNotReadableException ex) {
        ApiResponse<String> e = new ApiResponse<>();
        e.setCode(ApiResponse.CODE_ERR_COMMON);
        e.setMessage("捕捉到HttpMessageNotReadableException:"+ex.getMessage());
        return e;
    }

    @ExceptionHandler(HelloException.class)
    public ApiResponse<String> processException(HelloException ex) {
        ApiResponse<String> e = new ApiResponse<>();
        e.setCode(ApiResponse.CODE_ERR_COMMON);
        e.setMessage("捕捉到HelloException:"+ex.getMessage());
        return e;
    }
}

以上将会捕捉2种异常进行如何,如果补抓所有异常

直接 

@ExceptionHandler(Exception.class)

就可以

 

备注:

 

@Response user 这样赋值的,如果json为空一定会直接异常

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: 

 

标签:springboot,ExceptionHandler,ApiResponse,class,ex,HttpMessageNotReadableException
来源: https://www.cnblogs.com/xuweiqiang/p/16076584.html