Back to Intellij Community

ConvertTryFinallyToUseCall

plugins/kotlin/code-insight/descriptions/resources-en/inspectionDescriptions/ConvertTryFinallyToUseCall.html

2025.3-rc-2593 B
Original Source

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)
      }
  }