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.
Example:
fun example() {
val reader = File("file.txt").bufferedReader()
try {
reader.lineSequence().forEach(::print)
} finally {
reader.close()
}
}
After the quick-fix applied:
fun example() {
File("file.txt").bufferedReader().use { reader ->
reader.lineSequence().forEach(::print)
}
}
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Kotlin, @snapshot@ |
Last modified: 13 July 2023