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
FieldsModifier and TypeFieldDescriptionstatic final intReturn value from theexecuteandexecuteHelpRequestmethods signifying successful termination.static final intReturn value from theexecutemethod signifying internal software error: an exception occurred when invoking the Runnable, Callable or Method user object of a command.static final intReturn value from theexecutemethod 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 theexecuteandexecuteHelpRequestmethods signifying successful termination.The value of this constant is 0.
- See Also:
-
SOFTWARE
public static final int SOFTWAREReturn value from theexecutemethod 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 theexecutemethod 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:
-