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

Ошибка os.ErrNotExist

Ошибка os.ErrNotExist возвращается функциями пакета os при попытке доступа к файлу или директории, которые не существуют. Эта ошибка часто возникает при работе с файловой системой, когда мы пытаемся открыть, прочитать или получить информацию о несуществующем файле. Для проверки этой ошибки используется функция os.IsNotExist, которая принимает ошибку и возвращает true, если ошибка является ошибкой отсутствия файла.

Синтаксис

err := os.ErrNotExist os.IsNotExist(err)

Пример проверки ошибки при открытии файла

Давайте попробуем открыть несуществующий файл и обработаем ошибку:

package main import ( "fmt" "os" ) func main() { file, err := os.Open("nonexistent.txt") if err != nil { if os.IsNotExist(err) { fmt.Println("File does not exist") } else { fmt.Println("Other error:", err) } return } defer file.Close() fmt.Println("File opened successfully") }

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

"File does not exist"

Пример проверки ошибки при получении информации о файле

Давайте попробуем получить информацию о несуществующем файле:

package main import ( "fmt" "os" ) func main() { info, err := os.Stat("missing.txt") if err != nil { if os.IsNotExist(err) { fmt.Println("File info does not exist") } else { fmt.Println("Other error:", err) } return } fmt.Println("File size:", info.Size()) }

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

"File info does not exist"

Пример сравнения с константой ErrNotExist

Также можно сравнивать ошибку напрямую с константой os.ErrNotExist:

package main import ( "fmt" "os" ) func main() { _, err := os.Stat("missing.txt") if errors.Is(err, os.ErrNotExist) { fmt.Println("File does not exist (direct check)") } else if err != nil { fmt.Println("Other error:", err) } else { fmt.Println("File exists") } }

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

"File does not exist (direct check)"

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

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