Conversation
| _catsView?.populate(catPresentation) | ||
| } catch (e: SocketTimeoutException) { | ||
| _catsView?.showError("Не удалось получить ответ от сервера") | ||
| } catch (e: Exception) { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Хоть CatsPresenter и не используется, поправил с учётом возможности CancellationException.
И для ViewModel тоже.
| ) | ||
| _catsView?.populate(catPresentation) | ||
| } catch (e: SocketTimeoutException) { | ||
| _catsView?.showError("Не удалось получить ответ от сервера") |
There was a problem hiding this comment.
минорно, но лучше выносить в ресурсы
There was a problem hiding this comment.
Вынес, и во ViewModel тоже.
Строковый ресурс, чтобы Context не тащить во ViewModel, через фабрику корректно передавать?
Или существуют способы изящнее?
There was a problem hiding this comment.
в целом я бы так не делал, но для домашки вполне рабочий вариант) можно обойтись без контекста, вынеся получение строк в какой то provider, в котором будет контекст уже
| _catsLiveData.value = Result.Success(catPresentation) | ||
| } catch (_: SocketTimeoutException) { | ||
| _catsLiveData.value = Result.Error(Exception("Не удалось получить ответ от сервера")) | ||
| } catch (e: Exception) { |
There was a problem hiding this comment.
тут дублирование с exceptionHandler, все будет перехвачено и в exceptionHandler уже ничего не попадет
There was a problem hiding this comment.
Всю обработку ошибок перенёс в CoroutineExceptionHandler
No description provided.