Проверка и перехват исключений

April 7, 2010 by admin Комментировать »

Обработка исключений требует несколько специфической организации программного кода. Фрагменты, которые могут инициировать исключения, помещаются в блок try, а код обработки исключений находится в блоке catch. Рассмотрим пример:

using System;

class Test

{

static int Zero = 0;

public static void Main()

{

// В следующем фрагменте исключения перехватываются

try

{

int j = 22 / Zero;

}

// Исключения, возникающие в блоке try, передаются

// в следующий блок

catch (Exception e)

{

Console.WriteLine("Exception " + e.Message);

}

Console.WriteLine("After catch");

}

}

Блок try содержит фрагмент, инициирующий исключение. В нашем случае генерируется исключение DivideByZeroException (деление на ноль). При выполнении деления .NET Runtime прерывает выполнение кода и ищет блок try, в котором находится код, где произошло исключение. После нахождения блока try начинается поиск соответствующих блоков catch.

Если поиск блоков catch окажется успешным, .NET Runtime выбирает из найденных блоков наиболее подходящий (о том, как происходит выбор, см. ниже), и выполняет код, содержащийся в блоке catch. Блок catch может обработать событие или инициировать его повторно.

В приведенном примере перехватывается исключение и выводится сообщение, находящееся в объекте исключения.

Зеленые технологии Техно и объявления тесты

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты