Можно ли использовать исключения для обработки сетевых ошибок?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Можно ли использовать исключения для обработки сетевых ошибок?

Сообщение Anonymous »

Я заметил, что во всех примерах работы с сетью (Retrofit, Ktor и т.п.) создаются запечатанные классы вот так:

Код: Выделить всё

sealed interface ApiResponse {
data class Success : ApiResponse
data class Failure : ApiResponse
}
В чем преимущество этого метода обработки ошибок? В конце концов, нам нужно передать ApiResponse через все уровни приложения конечному потребителю.
Или скопировать этот класс с аналогичными классами для каждого уровня чистой архитектуры. Что, в свою очередь, приводит к необходимости сопоставлять данные и создавать еще больше шаблонного кода.
Можно ли использовать исключения для отправки ошибок? А в конечном потребителе мы можем использовать try/catch или Flow.catch. Есть ли какая-либо причина, по которой этот метод менее желателен, чем использование запечатанных классов (за исключением того, что я могу забыть обработать исключения)?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ork-errors
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»