1e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak/* 2e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * Written by Doug Lea with assistance from members of JCP JSR-166 3e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * Expert Group and released to the public domain, as explained at 4e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * http://creativecommons.org/publicdomain/zero/1.0/ 5e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak */ 6e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak 7e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniakpackage java.util.concurrent; 8e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak 9e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak/** 10e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * Exception thrown when an error or other exception is encountered 11e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * in the course of completing a result or task. 12e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * 13e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * @since 1.8 14e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * @author Doug Lea 15e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak */ 16e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniakpublic class CompletionException extends RuntimeException { 17e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak private static final long serialVersionUID = 7830266012832686185L; 18e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak 19e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak /** 20e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * Constructs a {@code CompletionException} with no detail message. 21e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * The cause is not initialized, and may subsequently be 22e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * initialized by a call to {@link #initCause(Throwable) initCause}. 23e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak */ 24e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak protected CompletionException() { } 25e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak 26e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak /** 27e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * Constructs a {@code CompletionException} with the specified detail 28e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * message. The cause is not initialized, and may subsequently be 29e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * initialized by a call to {@link #initCause(Throwable) initCause}. 30e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * 31e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * @param message the detail message 32e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak */ 33e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak protected CompletionException(String message) { 34e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak super(message); 35e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak } 36e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak 37e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak /** 38e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * Constructs a {@code CompletionException} with the specified detail 39e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * message and cause. 40e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * 41e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * @param message the detail message 42e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * @param cause the cause (which is saved for later retrieval by the 43e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * {@link #getCause()} method) 44e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak */ 45e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak public CompletionException(String message, Throwable cause) { 46e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak super(message, cause); 47e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak } 48e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak 49e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak /** 50e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * Constructs a {@code CompletionException} with the specified cause. 51e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * The detail message is set to {@code (cause == null ? null : 52e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * cause.toString())} (which typically contains the class and 53e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * detail message of {@code cause}). 54e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * 55e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * @param cause the cause (which is saved for later retrieval by the 56e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak * {@link #getCause()} method) 57e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak */ 58e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak public CompletionException(Throwable cause) { 59e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak super(cause); 60e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak } 61e8b323c7cb7d55be9a4df579231e44f04f53d766Przemyslaw Szczepaniak} 62