РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
613 of 1593 menu

Тип fs.PathError

Тип fs.PathError реализует интерфейс error и используется для представления ошибок, возникающих при работе с файловой системой. Он содержит три поля: Op (название операции), Path (путь к файлу) и Err (основная ошибка). Этот тип позволяет разработчикам получать детальную информацию о том, какая операция и с каким путем вызвала ошибку.

Синтаксис

type PathError struct { Op string Path string Err error }

Для создания ошибки используется функция fs.PathError, которая принимает три параметра: операцию (строка), путь (строка) и основную ошибку (интерфейс error).

Пример

Давайте создадим ошибку пути и выведем её содержимое:

package main import ( "fmt" "io/fs" "os" ) func main() { err := &fs.PathError{ Op: "open", Path: "/nonexistent/file.txt", Err: os.ErrNotExist, } fmt.Println(err) }

Результат выполнения кода:

"open /nonexistent/file.txt: file does not exist"

Пример

Проверим, является ли ошибка типом fs.PathError и получим её поля:

package main import ( "fmt" "io/fs" "os" ) func main() { _, err := os.Open("/nonexistent/file.txt") if err != nil { if pathErr, ok := err.(*fs.PathError); ok { fmt.Printf("Operation: %s\n", pathErr.Op) fmt.Printf("Path: %s\n", pathErr.Path) fmt.Printf("Error: %v\n", pathErr.Err) } } }

Результат выполнения кода:

"Operation: open" "Path: /nonexistent/file.txt" "Error: file does not exist"

Пример

Проверим, является ли ошибка ошибкой "файл не существует" с использованием метода errors.Is:

package main import ( "errors" "fmt" "os" ) func main() { _, err := os.Open("/nonexistent/file.txt") if err != nil { if errors.Is(err, os.ErrNotExist) { fmt.Println("File does not exist") } } }

Результат выполнения кода:

"File does not exist"

Смотрите также

  • функцию os.Open,
    которая открывает файл для чтения
  • функцию os.Stat,
    которая возвращает информацию о файле
  • функцию os.IsNotExist,
    которая проверяет ошибку на существование файла
  • функцию os.IsPermission,
    которая проверяет ошибку на отсутствие прав доступа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить