Как развернуть URL-адрес. Ошибка вернулась с http.Client? - PullRequest
2 голосов
/ 10 февраля 2020

Я использую net.http.client

После отправки запроса с

resp, err := Client.Do(req)

Я получаю ошибку, с которой хочу работать.

err.Error() возвращает ошибку в виде строки. Но мне нужно работать с ошибкой как с объектом. Я нашел метод Unwrap(), который, кажется, возвращает объект url.Error, но я получаю err.Unwrap undefined (type error has no field or method Unwrap)

Извините за глупый вопрос, я совершенно новичок в golang.

1 Ответ

4 голосов
/ 10 февраля 2020

Согласно документации, любая ошибка, возвращаемая из Client.Do, будет *url.Error, но поскольку сигнатура метода говорит (*Response, error), вам придется преобразовать ее явно перед использованием:

urlErr := err.(*url.Error)
if urlErr.Timeout() {
    // ..
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...