原文: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-error-handling
原文中有这么一段
其中:
if YourException is thrown by a controller defined in the same package as AcmeController
这个 defined 修饰的是 controller 还是 YourException 。。?
假如我有个 a,b,c 三个 module, a 和 b 都依赖 c. c 中有一个异常 CException
public class CException extends RuntimeException {}
分别在 a 和 b 中的某个 controller 抛出, 并且 a 和 b 中分别定义了 ControllerAdvice
@ControllerAdvice(basePackageClasses = AController.class)
public class AControllerAdvice {
@ExceptionHandler(CException.class)
public ResponseEntity handleCException() {
// ...
}
}
@ControllerAdvice(basePackageClasses = BController.class)
public class BControllerAdvice {
@ExceptionHandler(CException.class)
public ResponseEntity handleCException() {
// ...
}
}
哪个 advice 能拦截到? 还是说要根据 order 来判断..?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.