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