getExitCode method
Resolves the final exit code by iterating over all registered ExitCodeGenerators and returning the first non-zero code.
If none returns a non-zero value, defaults to 0
.
If a Throwable
or Exception is thrown while calling getExitCode
,
it logs the stack trace and sets exit code to 1
.
Example:
int exitCode = generators.getExitCode();
exit(exitCode);
Implementation
int getExitCode() {
int exitCode = 0;
for (ExitCodeGenerator generator in _generators) {
try {
int value = generator.getExitCode();
if (value != 0) {
exitCode = value;
break;
}
} on Throwable catch (th) {
exitCode = 1;
th.printStackTrace();
} on Exception catch (ex) {
exitCode = 1;
ex.printStackTrace();
}
}
return exitCode;
}