Исключения представляются классами. Все классы исключений создаются от базового класса Exception, который определен в пространстве имен System. Для управления обработкой исключений используются операторы try, catchи Finally
Структура построения исключенийtry // контролируемый блок
{
…
}
catch //один или несколько блоков обработки исключений
{
…
}
finally //блок завершения {
…
}
Программные инструкции, которые нужно проконтролировать на предмет исключений,
помещаются в блок try. При возникновении исключения внутри этого блока управление
будет передано на блок catch, который умеет обрабатывать возникшие исключения. Блок
finally будет выполнен в любом случае, не зависимо от того, возникли исключения внутри блока try или нет.
Механизм выполнения обработки исключений
При возникновении ошибки выполнения метода, метод генерирует исключение
соответствующего типа.
Пример:
static void Main()
{
Console.Write("x=");
int x = int.Parse(Console.ReadLine()); ??
int y = 1 / x;
Console.WriteLine("y={0}", y);
}
Перечислим, какие исключительные ситуации могут возникнуть.
1. Пользователь может ввести нечисловое значение и выполнение оператора Parse завершится неудачей.
2. Пользователь может ввести значение 0, и произойдет деление на 0.