CompletionHandler (Java Platform SE 8 )
Keywords: java.nio.channels.CompletionHandler interface
Date: 2026-04-17

compact1, compact2, compact3
java.nio.channels

## Interface CompletionHandler<V,A>

- Type Parameters:
    `V` - The result type of the I/O operation
    `A` - The type of the object attached to the I/O operation

      public interface CompletionHandler<V,A>

  A handler for consuming the result of an asynchronous I/O operation.

  The asynchronous channels defined in this package allow a completion handler to be specified to consume the result of an asynchronous operation. The `completed` method is invoked when the I/O operation completes successfully. The `failed` method is invoked if the I/O operations fails. The implementations of these methods should complete in a timely manner so as to avoid keeping the invoking thread from dispatching to other completion handlers.

  Since:
    1.7

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `completed(V result, A attachment)` Invoked when an operation has completed.
    `void` | `failed(Throwable exc, A attachment)` Invoked when an operation fails.

- - ### Method Detail

    - #### completed

          void completed(V result,
                         A attachment)

      Invoked when an operation has completed.
      Parameters:
        `result` - The result of the I/O operation.
        `attachment` - The object attached to the I/O operation when it was initiated.

    - #### failed

          void failed(Throwable exc,
                      A attachment)

      Invoked when an operation fails.
      Parameters:
        `exc` - The exception to indicate why the I/O operation failed
        `attachment` - The object attached to the I/O operation when it was initiated.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.