use

Common
Native
1.8
@ExperimentalStdlibApi inline fun <T : AutoCloseable?, R> T.use(
    block: (T) -> R
): R

(Common source) (Native source)
JVM
JRE7
1.2
inline fun <T : AutoCloseable?, R> T.use(block: (T) -> R): R
(source)
JS
1.8
inline fun <T : AutoCloseable?, R> T.use(block: (T) -> R): R
(source)

Executes the given block function on this resource and then closes it down correctly whether an exception is thrown or not.

In case if the resource is being closed due to an exception occurred in block, and the closing also fails with an exception, the latter is added to the suppressed exceptions of the former.

Parameters

block - a function to process this AutoCloseable resource.

Return the result of block function invoked on this resource.