Курс на Stepik
Обложка курса «Golang — работа с паникой и ошибками» на Stepik
3 290 ₽

Golang — работа с паникой и ошибками ★ 5.000

Открыть на
STEPIK.ORG

Вы разберёте философию «ошибка — это значение», освоите defer, panic и recover, научитесь тестировать и логировать критические ситуации. Курс поможет писать надёжные, предсказуемые и готовые к продакшену программы.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Golang — работа с паникой и ошибками»Учеников на курсе 32
Сертификаты, выданные на курсе «Golang — работа с паникой и ошибками»Сертификатов выдано 0
Отзывы о курсе «Golang — работа с паникой и ошибками»Отзывов получено 1
Рейтинг курса «Golang — работа с паникой и ошибками»Рейтинг курса 5.000
Уроки в курсе «Golang — работа с паникой и ошибками»Количество уроков 32
Тесты в курсе «Golang — работа с паникой и ошибками»Количество квизов 101
Задачи с кодом в курсе «Golang — работа с паникой и ошибками»Количество задач с кодом 79
Время прохождения курса «Golang — работа с паникой и ошибками»Время прохождения курса —
Стоимость курса «Golang — работа с паникой и ошибками»Стоимость курса 3 290 ₽ —
Обновления курса «Golang — работа с паникой и ошибками»Обновления курса — —
Дата публикации курса «Golang — работа с паникой и ошибками»Дата публикации курса — ———
Последнее обновление курса «Golang — работа с паникой и ошибками»Последнее обновление — ———
Сложность normal — ———

Содержание курса

Разделы в курсе «Golang — работа с паникой и ошибками» 5 разделов Уроки в курсе «Golang — работа с паникой и ошибками» 32 урока Тесты в курсе «Golang — работа с паникой и ошибками» 101 тест Задачи в курсе «Golang — работа с паникой и ошибками» 79 задач Время прохождения курса «Golang — работа с паникой и ошибками» 1 ч. Последнее обновление курса «Golang — работа с паникой и ошибками» обн. 1 год назад

Модуль 1. Ошибки как значения

7 уроков
1. Приветствие ↗
2. Интерфейс error, философия «ошибка — значение» ↗
3. Создание ошибок (errors.New, fmt.Errorf, %w, %q) ↗
4. Early-return / guard-clauses if err != nil { … } ↗
5. Sentinel-ошибки и сравнение (==) ↗
6. Форматирование и локализация сообщений ↗
7. Тест по модулю 1 ↗

Модуль 2. Расширенные ошибки и обёртки

7 уроков
1. Собственные типы ошибок ↗
2. Обёртывание: errors.Is / errors.As / errors.Unwrap ↗
3. Сохранение контекста (stack trace, data) ↗
4. Категоризация ошибок ↗
5. Ошибки и конкурентность ↗
6. Сторонние библиотеки (xerrors, pkg/errors) ↗
7. Тест по модулю 2 ↗

Модуль 3. Panic / defer / recover

6 уроков
1. Стек defer и его порядок ↗
2. panic: когда и зачем ↗
3. recover и мягкое восстановление ↗
4. Допустимые кейсы использования panic ↗
5. Тестирование panics (t.Run + defer func() { recover() }) ↗
6. Тест по модулю 3 ↗

Модуль 4. Архитектурные паттерны обработки ошибок

7 уроков
1. Layered errors: разделение уровней ↗
2. Centralized error handling (HTTP) ↗
3. Structured-logging с log/slog: уровни, поля, sampling ↗
4. Метрики и трассировка (Prom/OpenTelemetry) ↗
5. Кодирование ошибок (gRPC status, REST) ↗
6. Пользовательские vs. системные сообщения ↗
7. Тест по модулю 4 ↗

Модуль 5. Тестирование и эксплуатация

5 уроков
1. Тестирование ошибок (wantErr, errors.Is) ↗
2. Тестирование паник ↗
3. Бенчмарки и нагрузка ошибок ↗
4. Инструменты продакшена (Sentry / Loki) ↗
5. Итоги курса ↗