DirectoryNotFoundException
Класс DirectoryNotFoundException наследует
IOException.
Вызов File.ReadAllText("missing-dir/abcde.txt")
бросает его, если папки "missing-dir" нет.
Каталог в примерах не создают - файл только
в тексте пути.
Синтаксис
File.ReadAllText("missing-dir/abcde.txt");
catch (DirectoryNotFoundException) { }
Пример
Давайте поймать отсутствующую папку:
using System;
using System.IO;
class Program
{
static void Main()
{
try
{
File.ReadAllText("missing-dir/abcde.txt");
}
catch (DirectoryNotFoundException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Пример
Давайте вывести имя типа сбоя:
using System;
using System.IO;
class Program
{
static void Main()
{
try
{
File.ReadAllText("missing-dir/abcde.txt");
}
catch (DirectoryNotFoundException ex)
{
Console.WriteLine(ex.GetType().Name);
}
}
}
Результат выполнения кода:
"DirectoryNotFoundException"
Пример
Давайте перехватить его через IOException:
using System;
using System.IO;
class Program
{
static void Main()
{
try
{
File.ReadAllText("missing-dir/abcde.txt");
}
catch (IOException ex)
{
Console.WriteLine(ex is DirectoryNotFoundException);
}
}
}
Результат выполнения кода:
True
Смотрите также
-
исключение
FileNotFoundException,
которое возникает, если папка есть, а файла нет -
исключение
IOException,
которое является общим базовым типом -
класс
Exception,
от которого наследует DirectoryNotFoundException -
исключение
UnauthorizedAccessException,
которое связано с доступом к пути