-
Notifications
You must be signed in to change notification settings - Fork 234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
With view model #175
base: development
Are you sure you want to change the base?
With view model #175
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Привет. оставил пару комментариев
app/src/main/java/otus/homework/coroutines/data/CatImagesService.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/otus/homework/coroutines/presentation/vm/CatsViewModel.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/otus/homework/coroutines/presentation/vm/CatsViewModel.kt
Outdated
Show resolved
Hide resolved
|
||
private val _cat = MutableLiveData<Result<Cat>>() | ||
|
||
private val exceptionHandler = CoroutineExceptionHandler { _, e -> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SocketException нужно обработать в try/catch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А CoroutineExceptionHandler его не поймает?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Поймает, но идея следующая:
- try/catch или функция runCatching позволяет поймать ошибку и какой то фоллбек реалзиовать, например получил ошибку сети, сходил в БД или Мемкэш, и корутина дальше продолжит работать
- CoroutineExceptionHandler этот механизм уже когда корутина в терминальном состоянии, и например если упало какое-то исключение, которое никто не ожидал, можно его как то дефолтно обработать, например, показав алерт "что-то пошло не так" или просто в логер какой-то сложить
No description provided.