Spring MVC 全局异常处理(3) ---@ExceptionHandler注解

前几节小博老师给大家介绍了SpringMVC异常处理两种方法,今天继续介绍使用注解方式进行异常处理的方式@ExceptionHandler。@ExceptionHandler只有一个参数value,指定需要处理的异常类型。是一个数组类型。如:

@ExceptionHandler(value={NullPointerException.class,IllegalArgumentException.class})

如果只需要处理一种类型的异常,可以简写为:@ExceptionHandler(NullPointerException.class)。

当然,也可以不加参数,拦截所有类型的异常。

需要注意的是,该注释必须与出错的方法写在同一个controller里。下面是一个异常处理示例:

Spring MVC 全局异常处理(3) ---@ExceptionHandler注解_第1张图片

以上定义的Controller,所有映射方法出错,都将调用exp方法进行异常处理。当然,我们可以定义多个方法,并设定每个方法注解@ExceptionHandler的异常类型参数,这样程序逻辑性会更加清晰。

使用@ExceptionHandler注解的一个优点是,在需要返回json数据错误信息的时候特别有用。在@ExceptionHandler注解的方法上再加上@ResponseBody注解即可。

你可能感兴趣的:(Spring MVC 全局异常处理(3) ---@ExceptionHandler注解)