Exit Code Mappings
退出代码的默认行为如下:
-
命令选项解析中的错误将导致 `2`代码
-
任何泛型错误将导致 `1`结果代码
-
显然在任何其他情况下结果代码为
0
每个 CommandRegistration
都可以定义自己的 Exception 和 exit 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[]
退出代码不能用基于注释的配置定制 |