Console.Write("Содержимое массива ra: "); for (int i = -5; i <= 5; i++)

Console.Write(ra[i] + " ");

Console.WriteLine("\n");

// Использовать объект ra2 в качестве массива.

Console.WriteLine("Длина массива га2: " + ra2.Length); for (int i = 1; i <= 10; i++) ra2[i] = i;

Console.Write("Длина массива ra2: "); for (int i = 1; i <= 10; i++)

Console.Write(ra2[i] + " ");

Console.WriteLine("\n") ;

} catch (RangeArrayException exc) {

Console.WriteLine(exc);

}

// А теперь продемонстрировать обработку некоторых ошибок.

Console.WriteLine("Сгенерировать ошибки нарушения границ.");

// Использовать неверно заданный конструктор, try {

RangeArray гаЗ = new RangeArray(100, -10); // Ошибка!

} catch (RangeArrayException exc) {

Console.WriteLine(exc);

}

// Использовать неверно заданный индекс, try {

RangeArray гаЗ = new RangeArray(-2, 2);

for(int i = -2; i <= 2; i++) ra3[i] = i;

Console.Write("Содержимое массива гаЗ: ");

for (int i = -2; i <= 10; i++) // сгенерировать ошибку нарушения границ Console.Write(гаЗ[i] + " ");

} catch (RangeArrayException exc) {

Console.WriteLine(exc);

}

}

}

После выполнения этой программы получается следующий результат.

Длина массива га: 11

Содержимое массива га: -5-4-3-2-1012345 Длина массива га2: 10

Содержимое массива га2: 12345678910

Сгенерировать ошибки нарушения границ.

Нижний индекс не меньше верхнего.

Содержимое массива гаЗ: -2-1012 Ошибка нарушения границ.

Когда возникает ошибка нарушения границ массива классаRangeArray,генерируется объект типаRangeArrayException.В классеRangeArrayэто может произойти в трех следующих местах: в аксессореgetиндексатора, в аксессореsetиндексатора и в конструкторе классаRangeArray.Для перехвата этих исключений подразумевается, что объекты типаRangeArrayдолжны быть сконструированы и доступны из блокаtry,что и продемонстрировано в приведенной выше программе. Используя специальное исключение для сообщения об ошибках, классRangeArrayтеперь действует как один из встроенных в C# типов данных, и поэтому он может быть полностью интегрирован в механизм обработки ошибок, обнаруживаемых в программе.

Перейти на страницу:

Похожие книги