Size: a a a

Saint P Ruby Community

2020 February 07

NS

Nikita Shilnikov in Saint P Ruby Community
Alex
это не так уж плохо, если сравненивать этот кейс с ситуацией, когда приложение с испорченным стейтом продолжает жить
таких проблем у меня никогда не было
источник

AD

Anton Davydov in Saint P Ruby Community
Alex G
а как в Failure, если Failure пробрасывается сразу дальше? Оно пройдет в явном виде через весь код, но если ты его не ожидаешь, то оно всплывет только вверху
а ты работал с монадами до этого?
источник

AD

Anton Davydov in Saint P Ruby Community
я могу просто пример написать, потому что мне кажется, что мы говорим о разных вещах
источник

AG

Alex G in Saint P Ruby Community
Anton Davydov
я могу просто пример написать, потому что мне кажется, что мы говорим о разных вещах
напиши, если не сложно. Может быть и о разных.
источник

AG

Alex G in Saint P Ruby Community
я тоже напишу
источник

AD

Anton Davydov in Saint P Ruby Community
Alex G
напиши, если не сложно. Может быть и о разных.
источник

AG

Alex G in Saint P Ruby Community
у меня похожий пример
источник

AD

Anton Davydov in Saint P Ruby Community
собственно я обычно работал с подобными вариантами кидания ошибок.

В первом случае у тебя последовательный вызов каждой зависимости и можно понять что и куда идет + обрабатываются все ошибки или специфичная

во втором случае тебе надо помнить про все варианты ошибок + сложно тоследить с ходу какая из ошибок вернется в каждом из сервисов
источник

AD

Anton Davydov in Saint P Ruby Community
Alex G
у меня похожий пример
в твоем примере кидается всего один эксепшен, обычно их пачка из нескольких видов
источник

AG

Alex G in Saint P Ruby Community
да, мне кажется в этом и разница в том, о чем мы говорим.

Я хочу сказать, что глядя на A нельзя знать про D и потому нельзя предусмотреть ошибку из D, в каком бы виде она ни была (исключение или failure)
источник

IM

Igor Morozov in Saint P Ruby Community
тип можно вывести вообще
источник

NS

Nikita Shilnikov in Saint P Ruby Community
Alex G
да, мне кажется в этом и разница в том, о чем мы говорим.

Я хочу сказать, что глядя на A нельзя знать про D и потому нельзя предусмотреть ошибку из D, в каком бы виде она ни была (исключение или failure)
это проблема отсутствия типов и беда здесь с самим языком, а не подходом к обработке ошибок
источник

NS

Nikita Shilnikov in Saint P Ruby Community
тебе в любом месте может прийти какое-то говно
источник

AG

Alex G in Saint P Ruby Community
Nikita Shilnikov
это проблема отсутствия типов и беда здесь с самим языком, а не подходом к обработке ошибок
Я потому и не согласен, когда говорят, что эта проблема (понятность и предсказуемость) решается отказом от исключений в пользу монад.
источник

AG

Alex G in Saint P Ruby Community
Да и на счет типов я не очень понял. Как бы они помогли?
источник

NS

Nikita Shilnikov in Saint P Ruby Community
наверно надо попробовать тебе на нормальном языке пописать и посмотреть как
источник

NS

Nikita Shilnikov in Saint P Ruby Community
если в двух словах — типы не сойдутся 🙂
источник

AG

Alex G in Saint P Ruby Community
ну началось )
источник

AG

Alex G in Saint P Ruby Community
источник

AG

Alex G in Saint P Ruby Community
источник