@AfterThrowing注解来捕获方法抛出的异常代码示例
时间: 2024-02-02 22:44:00 浏览: 89
抛出异常代码示例
好的,这是一个使用@AfterThrowing注解来捕获方法抛出的异常的代码示例:
```java
@Aspect
@Component
public class ExceptionAspect {
/**
* 拦截所有service层的异常
*/
@AfterThrowing(pointcut = "execution(* com.example.demo.service..*(..))", throwing = "e")
public void handleException(Throwable e) {
// 异常处理逻辑,例如记录日志、发送邮件等
System.out.println("异常:" + e.getMessage());
}
}
```
这个示例代码中,使用@Aspect和@Component注解来声明一个切面。@AfterThrowing注解表示在目标方法抛出异常后执行该方法。
pointcut属性用来指定切入点,这里指定拦截service包及其子包下的所有方法。
throwing属性用来声明捕获的异常类型,这里使用Throwable表示捕获所有异常。
在handleException方法中,可以编写自己的异常处理逻辑,例如记录日志、发送邮件等。
阅读全文