tg-me.com/kotlin_broadcast/1826
Last Update:
🔥 Функции check() и require() в Kotlin — когда и зачем использовать?
В Kotlin Standard Library есть две полезные функции, которые помогают явно выражать условия выполнения кода:
✅ require() — используется для проверки аргументов функции.
✅ check() — используется для проверки внутреннего состояния объекта или логики приложения.
Эти функции выбрасывают исключения, если указанное условие не выполняется:
👉 require() выбрасывает IllegalArgumentException
👉 check() выбрасывает IllegalStateException
📌 Примеры применения:
// require() для проверки входных аргументов:
fun calculateArea(width: Int, height: Int): Int {
require(width > 0 && height > 0) {
"Width and height must be positive!"
}
return width * height
}
// check() для контроля состояния внутри объекта:
class Connection {
var isConnected: Boolean = false
fun send(data: String) {
check(isConnected) {
"Cannot send data: not connected!"
}
// отправка данных
}
}
Важный плюс использования check() и require() — это контракты Kotlin, благодаря которым компилятор лучше понимает состояние переменных после проверки и помогает избежать лишних проверок и ошибок.
Например:
val data: String? = getData()
checkNotNull(data) {
"Data must not be null!"
}
// Теперь компилятору гарантировано data != null
println(data.length)
⚠️ Хорошо ли специально выбрасывать исключения?
Выбрасывать исключения — это нормально и полезно, когда приложение попадает в ситуацию, которая явно нарушает его логику. Это помогает выявлять ошибки на ранних стадиях и делать код чище и надежнее. Однако не стоит использовать исключения для управления нормальным потоком программы. Исключения предназначены именно для «исключительных» ситуаций, а не для стандартного поведения.
Считаете ли вы нормальным выбросить исключение или лучше другим путем обработать ошибку? Делитесь в комментариях
#kotlin #stdlib
BY Kotlin Multiplatform Broadcast
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/kotlin_broadcast/1826