Приложении закрывается с ошибкой при обращении к несуществующему серверу

Не так давно погружаюсь в Андроид-разработку. Решил написать простенькое приложение исключительно для отработки навыков и знакомства с библиотеками. Для сетевого взаимодействия решил использовать фреймворк Ktor, на котором написал простенький сервер. Сервер при GET запросе к нему отвечает текстом. Всё максимально просто. В приложении была реализована следующая логика:

  1. Приложение отправляет GET запрос на сервер
  2. Ответ сравнивается с ожидаемым
  3. При соответствии переход на активити 1, при несоответствии на активити 2. Тут тоже всё максимально просто.

Удалось добиться рабочего кода:

private fun sentToken() { // Функция для реализации сетевого взаимодействия
        val client = HttpClient()

        GlobalScope.launch(Dispatchers.IO) {
            val response: String = client.get(BASE_URL)
            client.close()

            // Функция, реализующая переход на активити 1 или 2
            serverResponse(response)
        }
    }

В чём же проблема?

Суть в том, что всё хорошо работает при активном сервере. Но стоит завершить его работу или отключить wifi, приложение вылетает с ошибкой. Как задать логику в случае полного отсутствия ответа сервера?


Ответы (0 шт):