Розбираємо
Result<T> у Kotlin як явний контракт «успіх або помилка»: як створювати результати через
Result.success(...) і
Result.failure(...), як діставати значення методами
getOrNull(),
exceptionOrNull(),
getOrElse { ... },
getOrThrow(), а також як будувати CLI-потоки без «лісу»
try/
catch за допомогою
onSuccess і
onFailure. На практиці показуємо «пакування» помилок введення (наприклад,
NumberFormatException) і типові пастки, коли
Result починають використовувати як «глушник» проблем.