springboot-异常处理

springboot-异常处理

springboot默认处理

默认情况下,Spring Boot 提供/error映射,以合理的方式处理所有错误,并在 servlet 容器中注册为“global”错误页面。对于机器客户端,它会生成一个 JSON 响应,其中包含错误,HTTP 状态和 exception 消息的详细信息。

使用@RestControllerAdvice注解和ExceptionHandler注解

可以使用上去的两个注解来处理全局异常

@RestControllerAdvice
public class GoalExceptionHandler {

	@ExceptionHandler(NullPointerException.class)
	public Map<String,Object> dealNullPoint(){
		Map<String,Object> map = new HashMap<>(12);
		map.put("stutas",1);
		map.put("msg","空指针异常处理");
		return map;
	}

	@ExceptionHandler(Exception.class)
	public ModelAndView dealException(Exception e){
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.setViewName("/public/error/error.html");
		return modelAndView;
	}


通过实现ErrorViewResolver接口来处理错误视图页面

@Configuration
public class MyErrorViewResolver implements ErrorViewResolver {
	@Override
	public ModelAndView resolveErrorView(HttpServletRequest request, HttpStatus status, Map<String, Object> model) {
		if (status.value()==404){
			ModelAndView modelAndView = new ModelAndView();
			modelAndView.setViewName("/error/404.html");
			return modelAndView;
		}
		return null;
	}
}
posted @   张and强  阅读(232)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示