Я следую этому примеру здесь:Как проверить точный тип ошибки при восстановлении?
https://www.socketloop.com/tutorials/golang-smarter-error-handling-with-strings-contains-function
if !strings.Contains(err.Error(), "timed out") {
fmt.Printf("resulting error not a timeout: %s", err)
}
Однако, если я делаю это в моем коде я получаю это
err.Error Неопределенный (типа интерфейс {} является интерфейсом без методов)
Интересно, что я здесь делаю неправильно, и как я должен проверить п точная ошибка (в моем случае, если я хочу, чтобы оправиться от ошибки «срезы границ вне диапазона»)
Беста,
Этот учебник ужасен. Паника не является типичным способом обработки ошибок, и ни одно из них не печатает их на stdout и не выходит. Идентификация ошибок по их строке ошибки является наименее предпочтительным способом их идентификации. – Aedolon