.NET Framework Ловля исключения

пример

Код может и должен вызывать исключения в исключительных обстоятельствах. Примеры этого включают:

Вызывающий может обрабатывать эти исключения, «ловя их», и должен делать это только тогда, когда:

  • Он может фактически разрешить исключительные обстоятельства или восстановить надлежащим образом;
  • Это может обеспечить дополнительный контекст для исключения, которое было бы полезно, если бы исключение нужно было перебросить (повторные выбросы исключений улавливаются обработчиками исключений далее в стеке вызовов)

Следует отметить, что выбор не для того, чтобы поймать исключение, является вполне допустимым, если намерение заключается в том, чтобы его обрабатывали на более высоком уровне.

Захват исключения выполняется путем переноса потенциально метательного кода в блок try { ... } следующим образом и улавливания исключений, которые он может обрабатывать в блоке catch (ExceptionType) { ... } :

Console.Write("Please enter a filename: ");
string filename = Console.ReadLine();

Stream fileStream;

try
{
    fileStream = File.Open(filename);
}
catch (FileNotFoundException)
{
    Console.WriteLine("File '{0}' could not be found.", filename);
}