Class AutoCloseables
java.lang.Object
org.apache.commons.lang3.AutoCloseables
Static operations on
AutoCloseable.
For Closeable-specific methods, see Apache Commons IO's
IOUtils.
- Since:
- 3.21.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidclose(AutoCloseable closeable) Closes the givenAutoCloseableas a null-safe operation.static voidclose(AutoCloseable closeable, FailableConsumer<Exception, Exception> consumer) Closes the givenAutoCloseableas a null-safe operation.static voidcloseQuietly(AutoCloseable closeable) Closes anAutoCloseable, never throwing anException.static voidcloseQuietly(AutoCloseable closeable, Consumer<Exception> consumer) Closes the givenAutoCloseableas a null-safe operation while consuming Exception by the givenconsumer.static voidcloseQuietly(Iterable<AutoCloseable> closeables) Closes an iterable ofAutoCloseable, never throwing anException.static <T extends Throwable>
TcloseQuietlySuppress(Closeable closeable, T throwable) Closes aCloseableunconditionally and adds any exception thrown by theclose()to the given Throwable.
-
Method Details
-
close
Closes the givenAutoCloseableas a null-safe operation.- Parameters:
closeable- The resource to close, may be null.- Throws:
Exception- Thrown if an error occurs.
-
close
public static void close(AutoCloseable closeable, FailableConsumer<Exception, Exception> consumer) throws Exception Closes the givenAutoCloseableas a null-safe operation.- Parameters:
closeable- The resource to close, may be null.consumer- Consume the Exception thrown byAutoCloseable.close().- Throws:
Exception- Thrown if the consumer throws an exception.
-
closeQuietly
Closes anAutoCloseable, never throwing anException.Equivalent to
AutoCloseable.close(), except any exceptions will be ignored.- Parameters:
closeable- The objects to close, may be null or already closed.- See Also:
-
closeQuietly
Closes the givenAutoCloseableas a null-safe operation while consuming Exception by the givenconsumer.- Parameters:
closeable- The resource to close, may be null.consumer- Consumes the Exception thrown byAutoCloseable.close().
-
closeQuietly
Closes an iterable ofAutoCloseable, never throwing anException.Equivalent calling
AutoCloseable.close()on each element, except any exceptions will be ignored.- Parameters:
closeables- The objects to close, may be null or already closed.- See Also:
-
closeQuietlySuppress
Closes aCloseableunconditionally and adds any exception thrown by theclose()to the given Throwable.For example:
AutoCloseable autoCloseable = ...; try { // process autoCloseable. } catch (Exception e) { // Handle exception. throw AutoCloseables.closeQuietlySuppress(autoCloseable, e); }Also consider using a try-with-resources statement where appropriate.
- Type Parameters:
T- The Throwable type.- Parameters:
closeable- The object to close, may be null or already closed.throwable- Add the exception throw by the closeable to the given Throwable.- Returns:
- The given Throwable.
- See Also:
-