LINUX.ORG.RU

История изменений

Исправление 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 неполным (и ненужным мне).