Как в Golang отлавливать сетевые ошибки?

Как в Go отлавливать ошибку
connect: connection refused

Надеюсь, есть более человеческие способы, чем через
strings.Contains(err.Error(), "connection refused")

https://play.golang.org/p/zgVJM9-Tjpe
  • Вопрос задан
  • 560 просмотров
Решения вопроса 2
@ghostiam
На Go писатель, серверов пинатель.
полное разворачивание ошибки:
https://play.golang.org/p/FXoa3wdGj8S

или проще, просто сравнение с ошибкой:
https://play.golang.org/p/KeTl1QAJBMs

узнать что за структура в ошибке, можно с помощью дебагера:
5eee5e686a011838001374.jpeg
Ответ написан
Комментировать
С go 1.13 ошибки можно врапить (упаковывать):
err := fmt.Errorf("access denied: %w", ErrPermission)
...
if errors.Is(err, ErrPermission)

Статья про враппинг ошибок
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы