Поскольку Go 1.13, у нас есть возможность объединять ошибки, разворачивать их и проверять, совпадает ли любая ошибка в цепочке с какими-либо из ожидаемых ошибок, с помощью errors.Is()
и errors.As()
.
Чтобы обернуть ошибку все, что вам нужно сделать, это использовать %w
глагол с fmt.Errorf()
, как показано ниже.
fmt.Errorf("Custom message: %w", err)
Это очень просто, он включает err
в другое с дополнительным сообщением. Но скажем, мне нужно больше контекста, чем просто сообщение. Как мне обернуть err
в мою собственную структурированную ошибку? Использование только стандартной библиотеки Go 1.13+.