Inspectopedia Help

Convert try / finally to use() call

Reports a try-finally block with resource.close() in finally which can be converted to a resource.use() call.

use() is easier to read and less error-prone as there is no need in explicit close() call.


fun example() { val reader = File("file.txt").bufferedReader() try { reader.lineSequence().forEach(::print) } finally { reader.close() } }
fun example() { File("file.txt").bufferedReader().use { reader -> reader.lineSequence().forEach(::print) } }

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Kotlin, 241.14841-IJ

Last modified: 12 March 2024