Вступить в клуб →
средняявопросKotlin Multiplatform: общий код для Android и iOS

Swift оборачивает вызов в do/catch, а приложение всё равно падает при ошибке сети

// commonMain
class OrdersRepository {
    suspend fun load(): List<Order> {
        val response = client.get("/orders")
        if (!response.status.isSuccess()) throw ApiException(response.status.value)
        return response.body()
    }
}
do { orders = try await repository.load() } catch { showError(error) }

При ответе 500 iOS-приложение аварийно завершается, до catch дело не доходит. Что добавить?

  • Аннотацию @Throws(ApiException::class)
  • Блок try/catch вокруг вызова в Swift
  • Наследование ApiException от Error
  • Модификатор open у класса репозитория

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела