Class CommandLine.ExitCode
- Enclosing class:
- CommandLine
Defines some exit codes used by picocli as default return values from the execute
and executeHelpRequest
methods.
Commands can override these defaults with annotations (e.g. @Command(exitCodeOnInvalidInput = 64, exitCodeOnExecutionException = 70)
or programmatically (e.g. CommandLine.Model.CommandSpec.exitCodeOnInvalidInput(int)
).
Additionally, there are several mechanisms for commands to return custom exit codes.
See the javadoc of the execute
method for details.
Standard Exit Codes
There are a few conventions, but there is no standard. The specific set of codes returned is unique to the program that sets it. Typically an exit code of zero indicates success, any non-zero exit code indicates failure. For reference, here are a few conventions:
Valid Ranges
Note that *nix shells may restrict exit codes to the 0-255 range, DOS seems to allow larger numbers. See this StackOverflow question.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Return value from theexecute
andexecuteHelpRequest
methods signifying successful termination.static final int
Return value from theexecute
method signifying internal software error: an exception occurred when invoking the Runnable, Callable or Method user object of a command.static final int
Return value from theexecute
method signifying command line usage error: user input for the command was incorrect, e.g., the wrong number of arguments, a bad flag, a bad syntax in a parameter, or whatever. -
Method Summary
-
Field Details
-
OK
public static final int OKReturn value from theexecute
andexecuteHelpRequest
methods signifying successful termination.The value of this constant is 0.
- See Also:
-
SOFTWARE
public static final int SOFTWAREReturn value from theexecute
method signifying internal software error: an exception occurred when invoking the Runnable, Callable or Method user object of a command.The value of this constant is 1.
- See Also:
-
USAGE
public static final int USAGEReturn value from theexecute
method signifying command line usage error: user input for the command was incorrect, e.g., the wrong number of arguments, a bad flag, a bad syntax in a parameter, or whatever.The value of this constant is 2.
- See Also:
-