【发布时间】:2021-06-27 13:36:05
【问题描述】:
我的 Spring Boot 应用程序是没有控制器的独立应用程序。我正在从 Spring Boot 应用程序的 main 方法调用服务层。
我尝试在我的班级中使用@ExceptionHandler @ControllerAdvice 注释,如下所示。但是我的异常处理程序方法永远不会得到控制
package com.test.exception;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
@ControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler(NullPointerException.class)
public void handleNullpointerExcetion() {
System.out.println("Handling Null pointer exception");
}
}
也尝试了包名,我需要在 @ControllerAdvice 中扫描但它不起作用
@ControllerAdvice("com.test.utility")
public class MyExceptionHandler {
@ExceptionHandler(NullPointerException.class)
public void handleNullpointerExcetion() {
System.out.println("Handling Null pointer exception");
}
}
如果我没有使用@RestContoller 或@Controller 注释的控制器类,我们是否无法在集中位置处理异常
【问题讨论】:
-
控制器建议是与 Controllers 和 RestControllers 一起使用。
-
ok.. 所以我们不能使用@controllerAdvice 和@ExceptionHandler 对没有API/控制器类的应用程序使用集中式异常处理。 @西蒙·马丁内利
-
您应该使用链接问题中的方面
标签: spring-boot exception exceptionhandler