Что такое error handling best practices?

Middle
690 просмотров
AFK Offer AI

В Go ошибки — значения, и их нужно обрабатывать явно. Best practices: всегда проверяй err (if err != nil), оборачивай с контекстом через fmt.Errorf("doing X: %w", err), используй errors.Is/As для проверки типа. Не логируй и не возвращай одновременно — либо обработай, либо проброси наверх. Создавай sentinel errors (var ErrNotFound = errors.New(...)) для известных ситуаций. Не используй panic для обработки ошибок — только для невосстановимых багов. Error должен быть последним возвращаемым значением.

Следующий вопрос

Что такое оптимистичная блокировка?