через контексты?
context(IOHandler)
fun makeIO() {
...
}
такие апи, в отличие от проверяемых ошибок, будет сложно абьюзить, ведь врядли при попытке создать юзера ты добавишь свой контекст, а потом занесёшь его в сигнатуру.
с джавовыми проверяемыми исключениями можно было тупо сделать throws UserNotFound, тут так делать точно не будут.
кроме того пустые трайкетчи можно будет заменить
ignoringIOHandler {
doSomeFunction()
}
или же, если это плохая идея, возможно котлин сейчас наступает на те же грабли, и в будущем это начнут абьюзить, а из языка уже не получится выкинуть? как было с джавой.
а как идея то это норм или нет? какие подводные
те же трайкетчи и leftMap-ы
я всё ещё не могу вложить смысл в слово «каскадно», поэтому можно наглядный пример, пожалуйста
Обсуждают сегодня