Продвинутая работа с ошибками в Go
Мы считаем, что грамотная обработка ошибок – это залог отказоустойчивости вашего приложения и здесь не всё так очевидно, как кажется на первый взгляд:
- Сколько способов обернуть ошибку вы знаете? Один? Два? А их больше пяти! Какие подводные камни скрывает каждый из них?
- Как обработать ошибку, не импортируя её пакет?
- Может быть, вы знаете как стандартная библиотека пишет стектрейс ошибки?
- А что такое константные ошибки?
- А стектрейс – это вообще дорогая штука?
- Чем опасен метод Error и какой тип ресивера ему выбрать?
- Какие ошибки можно игнорировать, а какие нет?
- Как обрабатывать ошибки, происходящие конкурентно?
- Что делать, если пакет не предоставляет нужной ошибки?
- Где и как логировать ошибки?
- Насколько сторонние модули по работе с ошибками совместимы со стандартной библиотекой?
- Как Go дошёл до текущих механизмов ошибок и что нас ждёт впереди?
- и т.д.
Основная цель курса – сделать ваш код по работе с ошибками production ready.
Если вы думаете, что работа с ошибками в Go заканчивается знанием о errors.Is и errors.As, то вам точно к нам.