Использование нескольких catch-блоков

  • docx
  • 18.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-002133.docx

Использование нескольких catch-блоков

С try-блоком можно связать не один, а несколько catch-блоков.

 

Однако все catch- блоки должны перехватывать исключения различ- ного типа.

 

using System; class Demo

{

public static void Main()

{

// Здесь массив a длиннее массива b. int[] a = { 4, 8, 10, 32, 64, 128, 256, 512 };

int[] b = { 2, 0, 1, 4, 0, 8 };


for (int i = 0; i < a.Length; i++)

{

try

{

Console.WriteLine(a[i] + " / " + b[i] + " равно " + a[i] / b[i]);

}

 

catch (DivideByZeroException)

{

Console.WriteLine("Деление на ноль!");

}

 

catch (IndexOutOfRangeException)

{

Console.WriteLine("Выход за границы массива."); return;

}

}

}

}

 

 

В общем случае catch-выражения проверяются в том порядке, в кото- ром они встречаются в программе.

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

 

catch-блок, предназначенный для "глобального перехвата" должен быть последним в последовательности catch-блоков.