Обработка ошибок
Часть курса Go
Вы уже не раз набирали в этом курсе if err != nil, так и не остановившись, чтобы спросить, что такое err на самом деле и откуда он берётся. Функции постоянно дают сбой самыми обычными, ожидаемыми способами: запрошенного файла нет на диске, переданное число вне допустимого диапазона, в делении внизу оказался ноль.
С интерфейсами вы познакомились в прошлом уроке как со списком сигнатур методов, которому любой тип удовлетворяет просто тем, что нужные методы у него есть, безо всякого объявления, связывающего одно с другим. error, это простейший возможный пример той же идеи, встроенный прямо в язык ...
Хочешь изучать Go Обработка ошибок в реальной среде?
Нажми ниже, получи Linux-машину с Go наготове и пройди Обработка ошибок на практике вместе с AI-наставником, который знает твой код.
Начать этот урокОбработка ошибокЧему вы научитесь
- Error interface
- Fmt.Errorf with %w
- Errors.Is
- Errors.As
- Custom error types
- Panic vs error
- Wrapping context into errors
Читай этот урок на своём языке
Все уроки этого курса
20 уроков- 1Привет, Go25 мин
- 2Переменные и типы25 мин
- 3Управление потоком: if и for30 мин
- 4Функции30 мин
- 5Срезы (slices) и карты (maps)35 мин
- 6Структуры (structs) и указатели (pointers)35 мин
- 7Методы (methods) и интерфейсы (interfaces)35 мин
- 8Обработка ошибок35 мин
- 9Модули (modules) и структура проекта35 мин
- 10Мини-проект на основе CLI40 мин
- 11Обзор стандартной библиотеки40 мин
- 12Тестирование и бенчмарки (benchmarks)40 мин
- 13Горутины (goroutines) и каналы (channels)40 мин
- 14Паттерны параллелизма45 мин
- 15Дженерики (generics)35 мин
- 16HTTP-серверы45 мин
- 17Базы данных с database/sql45 мин
- 18Производительность и профилирование40 мин
- 19Паттерны проектирования в Go40 мин
- 20Развёртывание и эксплуатация45 мин
