Exit Code Mappings

退出代码的默认行为如下:

  • 命令选项解析中的错误将导致 `2`代码

  • 任何泛型错误将导致 `1`结果代码

  • 显然在任何其他情况下结果代码为 0

每个 CommandRegistration 都可以定义自己的 Exceptionexit code 之间的映射。实际上,我们都受 Spring Boot 中关于 exit code 的功能所约束,并且直接整合到其中。

假设有下面将从命令中抛出的异常显示:

Unresolved include directive in modules/ROOT/pages/commands/exceptionhandling/mappings.adoc - include::../../test/java/org/springframework/shell/docs/ExitCodeSnippets.java[]

可以定义 Throwable 和退出代码之间的映射函数。您还可以只将 class 配置为 exit code,这只是配置中的语法糖。

Unresolved include directive in modules/ROOT/pages/commands/exceptionhandling/mappings.adoc - include::../../test/java/org/springframework/shell/docs/ExitCodeSnippets.java[]

退出代码不能用基于注释的配置定制