Обратите внимание на то, что в приведенной выше программе применяются два блокаtry.В первом из них перехватываются исключения, возникающие при вводе-выводе и способные воспрепятствовать открытию файла. Если произойдет ошибка ввода-вывода, выполнение программы завершится. В противном
В некоторых случаях оказывается проще заключить те части программы, где осуществляется открытие и доступ к файлу, внутрь блокаtry,вместо того чтобы разделять обе эти операции. В качестве примера ниже приведен другой, более краткий вариант написания представленной выше программыShowFile.
// Отобразить содержимое текстового файла.
using System; using System.10;
class ShowFile {
static void Main(string[] args) { int i;
FileStream fin = null;
if (args.Length != 1)' {
Console.WriteLine("Применение: ShowFile File"); return;
}
try {
fin = new FileStream(args[0], FileMode.Open);
// Читать байты до конца файла, do {
i = fin.ReadByte;
if(i != -1) Console.Write((char) i);
} while (i != -1);
} catch(IOException exc) {
Console.WriteLine("Ошибка ввода-вывода:\n" + exc.Message);
} finally {
if(fin != null) fin.Close;
}
}
}