Sobes.tech
Назад к вопросам
Junior — Middle
80

Как обработать и предоставить информативное сообщение об ошибке в приложении?

Ответ от нейросети

sobes.tech AI

В Go для обработки ошибок и предоставления информативных сообщений обычно используют тип error и функцию fmt.Errorf для создания ошибок с контекстом.

Пример обработки и передачи ошибки с сообщением:

func readFile(filename string) error {
    data, err := os.ReadFile(filename)
    if err != nil {
        return fmt.Errorf("не удалось прочитать файл %s: %w", filename, err)
    }
    // обработка data
    return nil
}

Здесь:

  • Используется обёртка ошибки с помощью %w для сохранения оригинальной ошибки.
  • Сообщение содержит контекст, что именно произошло и где.

При вызове функции можно проверить ошибку и вывести её:

err := readFile("config.json")
if err != nil {
    log.Println("Ошибка при чтении файла:", err)
}

Такой подход помогает быстро понять источник ошибки и её причину, что важно для отладки и поддержки приложения.