public static interface CommandLine.IExecutionExceptionHandler
Runnable, Callable or Method user object of the command.
Implementation Requirements:
Implementors that need to print messages to the console should use the output and error PrintWriters, and the color scheme from the CommandLine object obtained from the exception.
API Note:
This interface supersedes CommandLine.IExceptionHandler2.
Example usage:
IExecutionExceptionHandler errorHandler = new IExecutionExceptionHandler() {
public int handleExecutionException(Exception ex,
CommandLine commandLine,
ParseResult parseResult) {
//ex.printStackTrace(); // no stack trace
commandLine.getErr().println(ex.getMessage());
commandLine.usage(commandLine.getErr());
return commandLine.getCommandSpec().exitCodeOnExecutionException();
}
};
int exitCode = new CommandLine(new App())
.setExecutionExceptionHandler(errorHandler)
.execute(args);
CommandLine.setExecutionExceptionHandler(IExecutionExceptionHandler)| Modifier and Type | Method and Description |
|---|---|
int |
handleExecutionException(Exception ex,
CommandLine commandLine,
CommandLine.ParseResult fullParseResult)
Handles an
Exception that occurred while executing the Runnable or
Callable command and returns an exit code suitable for returning from CommandLine.execute(String...). |
int handleExecutionException(Exception ex, CommandLine commandLine, CommandLine.ParseResult fullParseResult) throws Exception
Exception that occurred while executing the Runnable or
Callable command and returns an exit code suitable for returning from CommandLine.execute(String...).ex - the Exception thrown by the Runnable, Callable or Method user object of the commandcommandLine - the CommandLine representing the command or subcommand where the exception occurredfullParseResult - the result of parsing the command line arguments.
This is the ParseResult of the top-level command.
Note that if the exception occurred in a subcommand, you may want to inspect the ParseResult of
the subcommand that threw the exception, which can be obtained by calling commandLine.getParseResult()
on the CommandLine object passed to this method.Exception