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