Back to questions
Junior — Middle
79
Как обработать и предоставить информативное сообщение об ошибке в приложении?
Answer from 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)
}
Такой подход помогает быстро понять источник ошибки и её причину, что важно для отладки и поддержки приложения.