Module info.picocli
Package picocli

Interface CommandLine.IExecutionExceptionHandler

  • Enclosing class:
    CommandLine

    public static interface CommandLine.IExecutionExceptionHandler
    Classes implementing this interface know how to handle Exceptions that occurred while executing the 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);
     
    Since:
    4.0
    See Also:
    CommandLine.setExecutionExceptionHandler(IExecutionExceptionHandler)
    • Method Detail

      • handleExecutionException

        int handleExecutionException​(Exception ex,
                                     CommandLine commandLine,
                                     CommandLine.ParseResult parseResult)
                              throws Exception
        Handles an Exception that occurred while executing the Runnable or Callable command and returns an exit code suitable for returning from CommandLine.execute(String...).
        Parameters:
        ex - the Exception thrown by the Runnable, Callable or Method user object of the command
        commandLine - the CommandLine representing the command or subcommand where the exception occurred
        parseResult - the result of parsing the command line arguments
        Returns:
        an exit code
        Throws:
        Exception