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)
}
}
Locating this inspection
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
ConvertTryFinallyToUseCall- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
Availability
- By default bundled with
- Can be installed with plugin
Kotlin, 241.18072-IJ
Last modified: 18 June 2024