咱们在 Controller 里提供接口,一般须要捕捉异常,并进行友好提示,不然一旦出错,界面上就会显示报错信息,给用户一种很差的体验。最简单的作法就是每一个方法都使用 try catch 进行捕捉,报错后,则在 catch 里面设置友好的报错提示。若是方法不少,每一个都须要 try catch,代码会显得臃肿,写起来也比较麻烦。java
咱们可不能够提供一个公共的入口进行统一的异常处理呢?固然能够。方法不少,这里咱们经过 Spring 的 AOP 特性就能够很方便的实现异常的统一处理。实现方法很简单,只须要在 Controller 类添加如下代码便可。code
@ExceptionHandler public String doError(Exception ex) throws Exception{ ex.printStackTrace(); return ex.getMessage(); }
其中,在 doError 方法上加入 @ExceptionHandler 注解便可,这样,接口发生异常会自动调用该方法。接口
这样,咱们无需每一个方法都添加 try catch,一旦报错,则会执行 handleThrowing 方法。get