Closed ghost closed 3 years ago
Добавил. Первые ошибки - согласен. Последние - это просто переопределение стандартного инстанса FromJSON. Эти ошибки обрабатываются во время декодирования.
Так же http запросы могут выкинуть эксепшны, это тоже нужно учитывать
Из дока:
A note on exceptions: for the most part, all actions that perform I/O should be assumed to throw an HttpException in the event of some problem, and all pure functions will be total. For example, withResponse, httpLbs, and BodyReader can all throw exceptions.
httpBS
вызывает httpLbs
. Если с сетью будут неполадки, то из-за одного свалившегося запроса может упасть все приложение. Желательно чтобы оно продолжало работать, на случай, если проблемы с сетью могут через какое-то время самоустраниться
Сейчас в этих местах:
вызывается fail (в IO
fail = error
), т.е. приложение просто падает. Нужно как то обрабатывать все ошибки. Из вариантов: можно использоватьExceptT
трансформер, а можно просто ловить их с помощьюcatch
илиtry
. По хорошему можно так же сделать свои типы ошибок, вместо того чтобы кидать обобщенный текст/SomeException
. Так же http запросы могут выкинуть эксепшны, это тоже нужно учитывать