慕粉2137351520
2018-10-09 20:05
postman返回这个格式,不是应该出现的-1,控制台也没有打印【系统异常】这几个字
{
"timestamp": "2018-10-09T12:02:04.961+0000",
"status": 500,
"error": "Internal Server Error",
"message": "No message available",
"path": "/girls"
}
下面的是我写的异常处理类
有两点你需要注意看下
1.@ExceptionHandler注解填的是Exception.class吗?
2.else分支这里有没有作以处理,再者说了,这里总返回的是Result对象,你前台怎么可能会展现别的格式呢,说明你并没有返回Result对象,你可以试着用debug启动项目,然后打断点跟着程序看看
@ExceptionHandler(Exception.class) @ResponseBody public Result girlHandle(Exception e){ if(e instanceof GirlException){ GirlException ge=(GirlException)e; log.info(ge.getMessage(),ge); return ResultUtil.error(ge.getCode(), ge.getMessage()); }else{ //因为错误捕获,所以后台没有报错,这里我们通过日志将其打印出来,以便排错 log.info("【系统发生错误】",e); return ResultUtil.error(-1, "系统发生了错误,请稍后再试,或联系管理员"); } }
谢谢,我异常处理类值是GirlException类了,没改成Exception类。学习了再次感谢!
你这是后台报错了,而不是抛出异常,如果是抛出异常了才会打印系统异常,你看看是不是代码写的有错误
Spring Boot进阶之Web进阶
104040 学习 · 393 问题
相似问题