大家都是怎么用spring aop来做业务异常处理的?
业务代码中会有大量自定义的异常会在业务层抛出,来标识各种特定的业务错误,这些异常对于业务层以上的api层而言,肯定是需要定义为checked异常的,需要处理。但是同时由于服务间都是通过RPC调用,其他服务不会关心这些异常或者说不希望通过抛出异常的方式来得知各种异常情况,因此需要在api层处理掉这些异常。
因为有aop的存在,很自然地想到用aop来统一处理各种异常。但是aop是在运行时生效,编译的时候如果api层不处理这些异常,编译器自然是通不过的。解决方案就是:. 将自定义的异常都定义为RuntimeException,但是这样感觉太暴力,也不是业务层希望看到了,违背了java健壮性的初衷,感觉怪怪的。
不知道大家有没有遇到类似问题,都是怎么解决的呢?
因为有aop的存在,很自然地想到用aop来统一处理各种异常。但是aop是在运行时生效,编译的时候如果api层不处理这些异常,编译器自然是通不过的。解决方案就是:. 将自定义的异常都定义为RuntimeException,但是这样感觉太暴力,也不是业务层希望看到了,违背了java健壮性的初衷,感觉怪怪的。
不知道大家有没有遇到类似问题,都是怎么解决的呢?
...全文
相关推荐
Spring常见面试题与答案,IOC AOP等
答案:使用 Spring 框架可以获得许多好处,包括轻量、控制反转、面向切面的编程、容器、MVC 框架、事务管理、异常处理等。2. Spring 由哪些模块组成?
Spring AOP的五种通知方式代码实例
Spring AOP五种通知方式代码实例详解Spring AOP是一种非常强大的面向切面编程技术,它可以将横切关注点从业务逻辑中分离出来,从而提高系统的灵活性和可维护性。
java基于spring注解AOP的异常处理的方法
本篇文章将深入探讨如何使用Spring注解AOP进行异常处理,特别是基于`@ControllerAdvice`的方式。
aop与spring事务处理
### AOP与Spring事务处理详解#### 一、引言:为什么使用框架和设计模式?在软件开发领域,设计模式和框架是两个重要的概念。
使用Spring AOP对异常进行统一处理
"本文主要讨论了在Java开发中,如何利用Spring AOP来对异常进行统一处理,以解决异常处理过程中遇到的各种问题,如不确定如何处理异常、日志记录不便、代码污染、处理复杂性、封装破坏以及修改困难


