Package org.apache.commons.compress

# Class CompressException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
org.apache.commons.compress.CompressException

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `ArchiveException`, `CompressorException`, `MemoryLimitException`, `Pack200Exception`, `PasswordRequiredException`

public class CompressException extends IOException
Signals that a Pack200 Compress exception of some sort has occurred.

Since:
  1.28.0
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CompressException()`
  Constructs an `CompressException` with `null` as its error detail message.
  `CompressException(String message)`
  Constructs a new exception with the specified detail message.
  `CompressException(String message, Throwable cause)`
  Constructs a new exception with the specified detail message and cause.
  `CompressException(Throwable cause)`
  Constructs a `CompressException` with the specified cause and a detail message.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected static <T, E extends Throwable>
  T`
  `requireNonNull(Class<? super E> cls, T obj, Supplier<String> messageSupplier)`
  Checks that the specified object reference is not `null` and throws a customized `CompressException` if it is

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

  `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

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

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

- ## Constructor Details

  - ### CompressException

    public CompressException()
    Constructs an `CompressException` with `null` as its error detail message.

  - ### CompressException

    public CompressException(String message)
    Constructs a new exception with the specified detail message. The cause is not initialized.
    Parameters:
      `message` - The message (which is saved for later retrieval by the `Throwable.getMessage()` method).

  - ### CompressException

    public CompressException(String message, Throwable cause)
    Constructs a new exception with the specified detail message and cause.
    Parameters:
      `message` - The message (which is saved for later retrieval by the `Throwable.getMessage()` method).
      `cause` - The cause (which is saved for later retrieval by the `Throwable.getCause()` method). A null value indicates that the cause is nonexistent or unknown.

  - ### CompressException

    public CompressException(Throwable cause)
    Constructs a `CompressException` with the specified cause and a detail message.
    Parameters:
      `cause` - The cause (which is saved for later retrieval by the `Throwable.getCause()` method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)

- ## Method Details

  - ### requireNonNull

    protected static <T, E extends Throwable> T requireNonNull(Class<? super E> cls, T obj, Supplier<String> messageSupplier) throws E
    Checks that the specified object reference is not `null` and throws a customized `CompressException` if it is. *
    Type Parameters:
      `T` - The type of the reference.
      `E` - The type of the exception.
    Parameters:
      `cls` - The exception class.
      `obj` - The object reference to check for nullity.
      `messageSupplier` - supplier of the detail message to be used in the event that a `ArchiveException` is thrown
    Returns:
      `obj` if not `null`.
    Throws:
      `E` - if `obj` is `null`.