此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.3! |
退出代码映射
退出代码的默认行为如下:
-
命令选项解析中的错误将导致代码为
2
-
任何一般错误都会导致结果代码为
1
-
显然,在任何其他情况下,结果代码都是
0
每CommandRegistration
可以在 Exception 和退出代码之间定义自己的映射。
本质上,我们被Spring Boot
关于退出代码,简单地
融入其中。
假设下面有一个异常 show ,它将从命令中抛出:
static class MyException extends RuntimeException {
private final int code;
MyException(String msg, int code) {
super(msg);
this.code = code;
}
public int getCode() {
return code;
}
}
可以在Throwable
和退出代码。您还可以
只需配置一个类以退出代码,这只是配置中的语法糖。
CommandRegistration.builder()
.withExitCode()
.map(MyException.class, 3)
.map(t -> {
if (t instanceof MyException) {
return ((MyException) t).getCode();
}
return 0;
})
.and()
.build();
无法使用基于注释的配置自定义退出代码 |