java spring控制台应用程序的全局异常处理程序

时间:2016-01-04 20:59:30

标签: java spring spring-boot console-application

我正在开发小型控制台应用程序。在我的代码中的某些地方,当发生不好的事情时,我会抛出自定义的RuntimeExceptions。我正在寻找的是一个全局异常处理程序,我可以使用它来捕获我的异常并为用户显示正确的信息(也记录它们)。

所以我的想法是在这里使用try-catch:

@SpringBootApplication
public class TfsWorkReporterApplication {

    public static void main(String[] args) {
        try {
            SpringApplication.run(TfsWorkReporterApplication.class, args);
        } catch(CustomException ex){
            //Display user information.
        }
    }
}

但我的第六感觉告诉我,这不是正确的方法。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用 @ControllerAdvice ,但我不确定它是否适用于独立应用程序,对于Web应用程序是否有效,

@ControllerAdvice
public class GlobalDefaultExceptionHandler {
   @ExceptionHandler(value = CustomException.class)
   public void defaultErrorHandler(CustomException e) {
       //handle here
   }
}