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

Метод try_exists

Метод try_exists проверяет, существует ли путь по указанному адресу. В отличие от метода exists, который возвращает простое логическое значение, данный метод возвращает Result<bool, io::Error>. Это позволяет отличить ситуацию, когда путь действительно не существует (возвращается Ok(false)), от ситуации, когда при проверке произошла ошибка доступа (возвращается Err). Параметров метод не принимает.

Синтаксис

path.try_exists()

Пример

Давайте проверим, существует ли путь к файлу "abcde.txt" в текущей директории:

use std::path::Path; fn main() { let path = Path::new("abcde.txt"); let res = path.try_exists(); println!("{:?}", res); }

Если файл существует, результат выполнения кода будет следующим:

Ok(true)

Пример

Давайте проверим несуществующий путь "12345.txt":

use std::path::Path; fn main() { let path = Path::new("12345.txt"); let res = path.try_exists(); println!("{:?}", res); }

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

Ok(false)

Пример

Давайте обработаем результат с помощью конструкции match, чтобы явно разобрать все возможные случаи:

use std::path::Path; fn main() { let path = Path::new("abcde.txt"); match path.try_exists() { Ok(true) => println!("path exists"), Ok(false) => println!("path does not exist"), Err(e) => println!("error: {}", e), } }

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

"path exists"

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

  • метод exists,
    который проверяет существование пути и возвращает bool
  • метод is_file,
    который проверяет, является ли путь файлом
  • метод is_dir,
    который проверяет, является ли путь директорией
  • метод metadata,
    который возвращает метаданные файла или директории
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить