Sobes.tech
Junior — Middle
101

Jak obsługiwać i dostarczać informacyjną wiadomość o błędzie w aplikacji?

Odpowiedź od AI

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)
}

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