Java : ExecutionException con ejemplos

ExecutionException (Java SE 23 & JDK 23) en Java con ejemplos.
Encontrará muestras de código para la mayoría de los métodos ExecutionException.

Nota :


Summary

Se genera una excepción al intentar recuperar el resultado de una tarea que se canceló al generar una excepción. Esta excepción se puede inspeccionar mediante el método Throwable.getCause(). (Traducción automática)

Class diagram

try (final var executor = Executors.newSingleThreadExecutor()) {
    final var future = executor.submit(() -> {
        System.out.println("task : start");
        throw new IllegalStateException("task error!");
    });
    future.get();
} catch (ExecutionException e) {
    System.out.println("ExecutionException! : " + e.getCause());
}

// Result
// ↓
//task : start
//ExecutionException! : java.lang.IllegalStateException: task error!

Constructors

ExecutionException ()

Construye una ExecutionException sin mensaje detallado. (Traducción automática)

protected. I think it's rare to create a subclass of this class. Therefore, the code example is omitted.

ExecutionException (String message)

Construye una ExecutionException con el mensaje de detalle especificado. (Traducción automática)

protected. I think it's rare to create a subclass of this class. Therefore, the code example is omitted.

ExecutionException (String message, Throwable cause)

Construye una ExecutionException con el mensaje detallado y la causa especificados. (Traducción automática)

final var cause = new IOException("XYZ");
final var e = new ExecutionException("abcd", cause);

System.out.println(e); // java.util.concurrent.ExecutionException: abcd
System.out.println(e.getMessage()); // abcd

System.out.println(e.getCause()); // java.io.IOException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ

ExecutionException (Throwable cause)

Construye una ExecutionException con la causa especificada. (Traducción automática)

final var cause = new IOException("XYZ");
final var e = new ExecutionException(cause);

// java.util.concurrent.ExecutionException: java.io.IOException: XYZ
System.out.println(e);

System.out.println(e.getCause()); // java.io.IOException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ

Methods declared in Throwable

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

Consulte el siguiente enlace.


Related posts

To top of page