picocli

## Class CommandLine.DefaultExceptionHandler<R>

- java.lang.Object
- - picocli.CommandLine.AbstractHandler<R,CommandLine.DefaultExceptionHandler<R>>
  - - picocli.CommandLine.DefaultExceptionHandler<R>

All Implemented Interfaces:
  CommandLine.IExceptionHandler, CommandLine.IExceptionHandler2<R>

Enclosing class:
  CommandLine

    public static class CommandLine.DefaultExceptionHandler<R>
    extends CommandLine.AbstractHandler<R,CommandLine.DefaultExceptionHandler<R>>
    implements CommandLine.IExceptionHandler, CommandLine.IExceptionHandler2<R>

Default exception handler that handles invalid user input by printing the exception message, followed by the usage message for the command or subcommand whose input was invalid.

`ParameterExceptions` (invalid user input) is handled like this:

         err().println(paramException.getMessage());
         paramException.getCommandLine().usage(err(), ansi());
         if (hasExitCode()) System.exit(exitCode()); else return returnValue;

`ExecutionExceptions` that occurred while executing the `Runnable` or `Callable` command are simply rethrown and not handled.

Since:
  2.0

### Constructor Summary

Constructors
Constructor and Description
`DefaultExceptionHandler()`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.util.List<java.lang.Object>` `handleException(CommandLine.ParameterException ex, java.io.PrintStream out, CommandLine.Help.Ansi ansi, java.lang.String... args)` Handles a `ParameterException` that occurred while parsing the command line arguments and optionally returns a list of results.
`R` `handleExecutionException(CommandLine.ExecutionException ex, CommandLine.ParseResult parseResult)` This implementation always simply rethrows the specified exception.
`R` `handleParseException(CommandLine.ParameterException ex, java.lang.String[] args)` Prints the message of the specified exception, followed by the usage message for the command or subcommand whose input was invalid, to the stream returned by `CommandLine.AbstractHandler.err()`.
`protected CommandLine.DefaultExceptionHandler<R>` `self()` Returns `this` to allow method chaining when calling the setters for a fluent API.

### Methods inherited from class picocli.CommandLine.AbstractHandler

`andExit, ansi, err, exit, exitCode, hasExitCode, out, returnResultOrExit, throwOrExit, useAnsi, useErr, useOut`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### DefaultExceptionHandler

    public DefaultExceptionHandler()

### Method Detail

#### handleException

    public java.util.List<java.lang.Object> handleException(CommandLine.ParameterException ex,
                                                            java.io.PrintStream out,
                                                            CommandLine.Help.Ansi ansi,
                                                            java.lang.String... args)

Description copied from interface: `CommandLine.IExceptionHandler`
Handles a `ParameterException` that occurred while parsing the command line arguments and optionally returns a list of results.

Specified by:
  `handleException` in interface `CommandLine.IExceptionHandler`
Parameters:
  `ex` - the ParameterException describing the problem that occurred while parsing the command line arguments, and the CommandLine representing the command or subcommand whose input was invalid
  `out` - the `PrintStream` to print help to if requested
  `ansi` - for printing help messages using ANSI styles and colors
  `args` - the command line arguments that could not be parsed
Returns:
  a list of results, or an empty list if there are no results

#### handleParseException

    public R handleParseException(CommandLine.ParameterException ex,
                                  java.lang.String[] args)

Prints the message of the specified exception, followed by the usage message for the command or subcommand whose input was invalid, to the stream returned by `CommandLine.AbstractHandler.err()`.

Specified by:
  `handleParseException` in interface `CommandLine.IExceptionHandler2<R>`
Parameters:
  `ex` - the ParameterException describing the problem that occurred while parsing the command line arguments, and the CommandLine representing the command or subcommand whose input was invalid
  `args` - the command line arguments that could not be parsed
Returns:
  the empty list
Since:
  3.0

#### handleExecutionException

    public R handleExecutionException(CommandLine.ExecutionException ex,
                                      CommandLine.ParseResult parseResult)

This implementation always simply rethrows the specified exception.

Specified by:
  `handleExecutionException` in interface `CommandLine.IExceptionHandler2<R>`
Parameters:
  `ex` - the ExecutionException describing the problem that occurred while executing the `Runnable` or `Callable` command
  `parseResult` - the result of parsing the command line arguments
Returns:
  nothing: this method always rethrows the specified exception
Throws:
  `CommandLine.ExecutionException` - always rethrows the specified exception
Since:
  3.0

#### self

    protected CommandLine.DefaultExceptionHandler<R> self()

Description copied from class: `CommandLine.AbstractHandler`
Returns `this` to allow method chaining when calling the setters for a fluent API.

Specified by:
  `self` in class `CommandLine.AbstractHandler<R,CommandLine.DefaultExceptionHandler<R>>`