我有spring boot命令行应用程序,我希望以允许我通过退出代码将它们传播给用户的方式处理应用程序错误,并在错误日志中添加一些合理的错误消息(不仅仅是无意义的堆栈跟踪)。我在文档中发现应用程序异常应该实现ExitCodeGenerator,所以我遵循了这个建议。但是我应该在public void run(String ... args)方法中捕获此异常,还是spring boot会为我处理这个问题?对于spring boot commandlinerunner和异常处理,还有一些最佳实践吗?谢谢。
答案 0 :(得分:0)
没有漂亮的方法(我知道它的重要性),例如ExceptionHandler。您可以使用System.exit(exitCode)
,Spring将在没有打印任何堆栈的情况下干净地关闭。
try {
....
} catch (MyException e) {
System.err.println("Error message");
System.exit(1);
}