KOTLIN_LIB Telegram 582
Не используй use в Kotlin

Многие считают, что use — это идеальный способ управления ресурсами в Kotlin, так как он автоматически закрывает ресурс после использования. Однако стоит быть осторожнее. Когда в блоке use выбрасывается исключение, ресурс всё равно закроется, но если при закрытии произойдёт ещё одно исключение, то оно может затереть исходное, и ты потеряешь важную информацию о причине ошибки.

В Java 7 для этого появилась конструкция try-with-resources, которая аккуратно складывает все исключения, а в Kotlin use реализован иначе. Например, если внутри блока работы с файлом что-то пошло не так, а потом и при закрытии возникла ошибка — ты увидишь только вторую, а первая просто исчезнет.

Поэтому лучше явно закрывать ресурсы в finally, либо использовать Java-подход, если тебе важно не терять исключения.

https://medium.com/@wn8yura/dont-use-use-in-kotlin-1005c9b6b9d4

✍️ @kotlin_lib
👍6🤣2



tgoop.com/kotlin_lib/582
Create:
Last Update:

Не используй use в Kotlin

Многие считают, что use — это идеальный способ управления ресурсами в Kotlin, так как он автоматически закрывает ресурс после использования. Однако стоит быть осторожнее. Когда в блоке use выбрасывается исключение, ресурс всё равно закроется, но если при закрытии произойдёт ещё одно исключение, то оно может затереть исходное, и ты потеряешь важную информацию о причине ошибки.

В Java 7 для этого появилась конструкция try-with-resources, которая аккуратно складывает все исключения, а в Kotlin use реализован иначе. Например, если внутри блока работы с файлом что-то пошло не так, а потом и при закрытии возникла ошибка — ты увидишь только вторую, а первая просто исчезнет.

Поэтому лучше явно закрывать ресурсы в finally, либо использовать Java-подход, если тебе важно не терять исключения.

https://medium.com/@wn8yura/dont-use-use-in-kotlin-1005c9b6b9d4

✍️ @kotlin_lib

BY Kotlin




Share with your friend now:
tgoop.com/kotlin_lib/582

View MORE
Open in Telegram


Telegram News

Date: |

Deputy District Judge Peter Hui sentenced computer technician Ng Man-ho on Thursday, a month after the 27-year-old, who ran a Telegram group called SUCK Channel, was found guilty of seven charges of conspiring to incite others to commit illegal acts during the 2019 extradition bill protests and subsequent months. A vandalised bank during the 2019 protest. File photo: May James/HKFP. Telegram users themselves will be able to flag and report potentially false content. Add up to 50 administrators To edit your name or bio, click the Menu icon and select “Manage Channel.”
from us


Telegram Kotlin
FROM American