如何进行统一异常处理

2017-12-29  本文已影响0人  晖Loo

    之前写项目的时候,一直不知道怎么进行异常处理,一般都是在Controller层进行try、catch,然后在try括号内返回正确的数据,在catch中返回错误的数据。后来发现,spring中有一个很有用的注解@ControllerAdvice,能帮助我们进行统一异常管理

    @ControllerAdvice,字面上来说就是控制器增强,可在其内部使用@ExceptionHandler来捕获异常,具体操作如下

1.我们先定义一个返回结果的枚举类ResultEnum,里面定义了一些返回结果类型,如参数不正确等


2.定义一个SellException类,主要用来统一处理项目中的异常,code为ResultEnum里的错误码,message为ResultEnum里的message


3.定义一个异常捕获类ExceptionHandle,加上@Controller注解,并使用@ExceptionHandle指定要捕获的异常类

判断捕获到的异常是否为自定义的SellException,如果是,则在result中返回指定的错误信息和错误信息码;如果不是,则返回-1,表示系统异常


4.在Controller类中直接抛出异常


5.不输入用户的openid,可以看到控制台打印出了openid为空的异常,并且返回结果中也返回了

上一篇下一篇

猜你喜欢

热点阅读