Interface ThrowingAutoCloseable<E extends Exception>

All Superinterfaces:
AutoCloseable
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface ThrowingAutoCloseable<E extends Exception> extends AutoCloseable
Functional helper-interface to allow for use of closeable resources that don't implement AutoCloseable in a try-with-resources statement.

This interface can be used with any object instance that doesn't implement AutoCloseable, but does have a close or similar method that needs to be called to free up resources. This functional interface is usable for any close method that throws a more specific exception than AutoCloseable defines. For methods that don't throw any exceptions, see @link{ExceptionLessAutoCloseable}.

Example:

CloseableResource resource = ... try (ThrowingAutoCloseable<IOException> eac = resource::close) { // Use resource } catch(IOException e) { // Handle exception }
  • Method Summary

    Modifier and Type
    Method
    Description
    void