Обработка исключений в HttpClient Ktor - PullRequest
0 голосов
/ 14 февраля 2019

Я написал общий код в общем модуле, как показано ниже, и протестирован в среде JS

val response = client.post<HttpResponse>(url) {
    body = TextContent("""{"a":1,"b":2}""", ContentType.Application.Json)
}
if (response.status != HttpStatusCode.OK) {
    logger.error("Error, this one failed bad?")
}

Но мой код заканчивается на client.post с отмененным исключением corutineException в сети.Как мне справиться с этим и любым другим исключением?Если есть подключение к интернету.Ничего не выходит из строя, я хочу иметь возможность обрабатывать исключения.Как?

Примечание: попробуйте, поймать не работает

1 Ответ

0 голосов
/ 14 февраля 2019

хорошо после того, как спросить здесь и там, я получил помощь от проблем с github и пришел к этой работе около

try {
    val response = client.post<HttpResponse>(url) {
        body = TextContent("""{"a":1,"b":2}""", ContentType.Application.Json)
    }
    if (response.status != HttpStatusCode.OK) {
        logger.error("Error, this one failed bad?")
    }
} catch (cause: Throwable) {
    logger.error("Catch your error here")
}

не путайте с catch (c: Throwable) с catch (e: Exception)

надеюсь, что это поможет

...