Содержание
- 2. Исключительные ситуации Исключительная ситуация (ИС), или просто исключение, - это ошибка, которая происходит во время выполнения
- 3. Исключительные ситуации В классе Exception определяются четыре конструктора. public Exception () public Exception(string сообщение) public Exception(string
- 4. Классы исключений ArrayTypeMismatchException Тип сохраняемого значения несовместим с типом массива DivideByZeroException Попытка деления на нуль indexOutOfRangeException
- 5. Обработка исключительных ситуаций Обработка исключительных ситуаций в С# организуется с помощью четырех ключевых слов: try, catch,
- 6. Обработка исключительных ситуаций Исключения обнаруживаются и обрабатываются в операторе try, который содержит три части: 1. контролируемый
- 7. Обработка исключительных ситуаций 2. один или несколько обработчиков исключений — блоков catch, в которых описывается, как
- 8. Обработка исключительных ситуаций Порядок обработки исключительных ситуаций. 1. Обработка исключения начинается с появления ошибки в блоке
- 9. Обработка исключительных ситуаций Обработчики исключений должны располагаться непосредственно за блоком try. Они начинаются с ключевого слова
- 10. Обработка исключительных ситуаций try { ... // Блок кода, проверяемый на наличие ошибок } catch (
- 11. Пример 1 using System; class ExcDemo4 { static void Main() { // Массив numer длиннее массива
- 12. Пример 1 catch (DivideByZeroException) { Console.WriteLine("Делить на нуль нельзя!"); } catch (IndexOutOfRangeException) { Console.WriteLine("Подходящий элемент не
- 13. Обработка исключительных ситуаций Операторы try могут многократно вкладываться друг в друга. Исключение, которое возникло во внутреннем
- 14. Пример 2 using System; class NestTrys { static void Main() { int[] numer = { 4,
- 15. Пример 2 catch (DivideByZeroException) { Console.WriteLine("Делить на нуль нельзя!"); } } } catch (IndexOutOfRangeException) { Console.WriteLine("Подходящий
- 16. Пример 2 Выполнение программы приводит к следующему результату. 4/2 равно 2 Делить на нуль нельзя! 16/4
- 17. Обработка исключительных ситуаций Для генерации исключения используется оператор throw с параметром, определяющим вид исключения. Параметр должен
- 18. Пример 3 using System; class ThrowDemo { static void Main() { try { string message =
- 19. Обработка исключительных ситуаций Исключение, перехваченное в одном блоке catch, может быть повторно сгенерировано в другом блоке,
- 20. Пример 4 using System; class Rethrow { public static void GenException() { int[] numer = {
- 21. Пример 4 catch (IndexOutOfRangeException) { Console.WriteLine("Подходящий элемент не найден."); throw; // сгенерировать исключение повторно } }
- 22. Пример 5 Фильтры исключений позволяют обрабатывать исключения в зависимости от определенных условий. int x = 1;
- 23. Обработка исключительных ситуаций try { // Блок кода, предназначенный для обработки ошибок } catch (ExcepType1 exOb)
- 24. Пример 6 using System; class UseFinally { public static void GenException(int what) { int t; int[]
- 25. Пример 6 catch (DivideByZeroException) { Console.WriteLine("Делить на нуль нельзя!"); return; // возврат из блока catch }
- 26. Пример 6 Результат выполнения программы. Получить 0 Делить на нуль нельзя После выхода из блока try.
- 27. Обработка исключительных ситуаций В классе Exception определяется ряд свойств. К числу самых интересных относятся три свойства:
- 28. Пример 7 using System; class ExcTest { public static void GenException() { int[] nums = new
- 29. Пример 7 class UseExcept { static void Main() { try { ExcTest.GenException(); } catch (IndexOutOfRangeException exc)
- 30. Пример 7 До генерирования исключения. // Результат nums[0]: 0 nums[1]: 1 nums[2]: 2 nums[3]: 3 Стандартное
- 31. Пример 8 using System; class X { int x; public X(int a) { x = a;
- 32. Пример 8 try { val = p.Add(q); // Эта операция приведет // к исключительной ситуации }
- 33. Пример 9 using System; // Создать пользовательское исключение для класса RangeArray class RangeArrayException : Exception {
- 34. Пример 9 class RangeArray { int[] a; // ссылка на базовый массив int lowerBound; // наименьший
- 35. Пример 9 public int this[int index] { get { if (ok(index)) { return a[index - lowerBound];
- 36. Пример 9 private bool ok(int index) { if (index >= lowerBound & index return false; }
- 37. Пример 9 for (int i = -5; i Console.Write("Содержимое массива га: "); for (int i =
- 38. Пример 9 // Продемонстрировать обработку некоторых ошибок Console.WriteLine("Сгенерировать ошибки нарушения границ."); // Использовать неверно заданный конструктор
- 39. Пример 9 // Использовать неверно заданный индекс try { RangeArray ra3 = new RangeArray(-2, 2); for
- 40. Применение checked и unchecked В С# допускается указывать, будет ли в коде сгенерировано исключение при переполнении,
- 41. Применение checked и unchecked У ключевого слова checked имеются две общие формы. В одной форме проверяется
- 42. Применение checked и unchecked У ключевого слова unchecked также имеются две общие формы. В первой, операторной
- 43. Пример 10 namespace ConsoleApplication1{ class Program { static void Main(){ byte a, b, result; Console.Write("Введите количество
- 44. Пример 10 checked { // используется для всего блока операторов result = (byte)(a + b); Console.WriteLine("a
- 46. Скачать презентацию