История изменений
Исправление
dave,
(текущая версия)
:
Да эта обработка ошибок у меня почти год уже как работает на 100%. Так что, ничего не хочу :)
Что касается finallyError, то я бы дополнили MonadError e m следующей функцией:
finallyError :: m a -> m b -> m a
Здесь блок m b должен гарантированно сработать даже в случае возникновения ошибки e (это обобщение функции finally). Без этого нахожу текущее определение MonadError неполным (и ненужным мне).
Исходная версия
dave,
:
Да эта обработка ошибок у меня почти год уже как работает на 100%. Так что, ничего не хочу :)
Что касается finallyError, то я бы дополнили MonadError e m следующей функцией:
finallyError :: m a -> m b -> m a
Здесь блок m b должен гарантированно сработать даже в случае возникновения ошибки e. Без этого нахожу текущее определение MonadError неполным (и ненужным мне).