哎呀,异常处理try catch写的脑壳疼

"小熊,忙什么呢,吃饭去了",大猫扯着嗓子喊道。

"哎呀,我这又出异常了,等我处理下,马上就来!"小熊一边回复一边不断敲击着键盘。

大猫跑到小熊这边一看:

MyServiceImpl.java

1

MyController.java

2

duang duang duang,一顿操作猛如虎,小熊对大猫说,好了,我们吃饭去吧。大猫拉住小熊,哎呀,你这异常处理写了两遍呀,每个控制层、业务层都写一遍耗资源不说而且就算出错,具体出错信息也看不出来哇。

"嗯,那倒是,那你有什么好的处理方式吗"小熊虚心求教。

大猫笑着说,spring提供了统一异常注解,只要写一个公共异常处理类加上注解,所有controller异常全都能自动捕获啦。

"这么厉害,快写给我看看!"小熊迫不及待。

1、首先创建统一异常处理类 MyControllerAdvice.java

3

@ControllerAdvice 是一个特殊的@Component,定义在一个类上,该类则负责捕获所有@RequestMapping上发生的异常(包括controller调用的service),这样一来所有的异常只要抛出就行,统一进行捕获处理即可。

2、配合@ExceptionHandler注解完成异常捕获

4

小熊仔细看了下,”你这里是把所有异常都直接处理了,万一我想根据不同类型的异常进行不同的处理呢?”

“没问题” 大猫说到,“你看@ExceptionHandler后面拦截的是所有异常,当然也可以细分,像这样”

5

“同理,当然也可以是自定义异常,这都是可以的。是不是非常方便和灵活?”

小熊欣喜到,”以后不仅少写代码,和业务代码解耦,维护起来也更方便了,真不错,大猫,真有你的,走,我请你吃饭!“

知识就是饭票 

                     ---- 鲁迅

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,618评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 4,313评论 1 3
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,160评论 2 7