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