Содержание
- 2. Исключение Исключительная ситуации или исключение (exception) – это возникновение в программе непредвиденного события, которое может порождаться
- 3. Исключение Обычно эти ситуации приводят к завершению выполнения программы с системным сообщением об ошибке. Механизм обработки
- 4. Суть механизма исключений Логическое разделение вычислительного процесса на две части - обнаружение аварийной ситуации и ее
- 5. Достоинства Улучшение структуры программы. Облегчение работы с библиотечными функциями и многомодульными программами. Для передачи информации об
- 6. Исключения в С# В С# практически любое состояние, достигнутое в процессе выполнения программы, можно опередить как
- 7. Способы генерации исключений Стандартные исключения генерирует среда выполнения, они являются потомками класса System.Exception. Исключение может определить
- 8. Примеры стандартных исключений
- 9. Ключевые слова Для реализации механизма обработки исключений в C# используются следующие ключевые слова try (контролировать) catch
- 10. Синтаксис конструкции try try { оператор_1; …..; оператор_n; } [блоки catch] [finally { оператор_1; …..; оператор_n;
- 11. Блоки конструкции try Блок try - контролируемого блок - блок программы, в котором может генерироваться исключение.
- 12. Контролируемый блок Любые описания Любые определения Любые операции Вызовы методов Специальные конструкции генерации исключений: throw [выражение];
- 13. Конструкция throw [выражение]; Выражение (параметр) - любой объект, порожденный от стандартного класса Exception. Именно этот объект
- 14. Свойства класса Exception
- 15. Конструкция throw На практике часто конструкция throw находятся не в блоке try, а описывается в методах,
- 16. Генерация исключения выполнение контролируемого блока прекращается управление передается непосредственно за пределы контролируемого блока на соответствующий обработчик
- 17. Обработка исключений Обработчик исключений должен непосредственно располагаться за try-блоком. Допускается наличие как одного, так и нескольких
- 18. Формы записи обработчика 1. catch (тип_исключения имя) {…} Роль имени подобна роли имени формального параметра в
- 19. Формы записи обработчика 3. catch {…} Данный обработчик реагирует на любое исключение независимо от его типа.
- 20. Обработка исключений обработчик исключения отсутствует + в процессе выполнения блока try возникло исключение метод, сгенерировавший исключение,
- 21. Обработка исключений После обработки исключения Если исключение не возникло Управление предается первому оператору блока finally (при
- 22. Блок finally обычно содержит операторы, которые выполнятся вне зависимости от генерации исключений: закрытие файлов, которые были
- 23. Пример 1. Обработка стандартных исключений //program_exc1.cs using System; class ExceptionTestClass { static void Main() { int
- 24. Пример 1. Обработка стандартных исключений try { x = int.Parse(buf); int y = 100 / x;
- 25. Пример 1. Обработка стандартных исключений catch (ArithmeticException e) { Console.WriteLine("ArithmeticException : {0}\nFile: {1}\nLocation : {2} ",
- 26. Варианты работы программы Например, при вводе буквы на экране появиться сообщение следующего вида: FormatException: Попытка передать
- 27. Варианты работы программы При вводе нуля на экране появиться сообщение следующего вида: ArithmeticException : Попытка деления
- 28. Варианты работы программы Третий из обработчиков перехватит любое из исключений, возникших в контролируемом блоке. Если исключение
- 29. Пример 2. Метод НОД using System; class ExceptionTestClass1 { static int GCM(int x, int y) {
- 30. Пример 2. Метод НОД static void Main() { try { Console.WriteLine("\nCGM(66,44) = "+ GCM(66, 44)); Console.WriteLine("\nCGM(0,7)
- 31. Результат работы программы CGM(66,44)=22 Zero! Finally
- 32. Распространение исключений Блоки try могут вкладываться друг в друга (без ограничений на уровень вложенности). Исключение, сгенерированное
- 33. Механизм обработки исключений Когда с помощью throw генерируется исключение выполняются следующие действия: создается копия параметра throw
- 34. Механизм обработки исключений Раскручиванием стека называется процесс освобождения памяти из-под локальных переменных и возврата управления вызывающей
- 35. Механизм обработки исключений Обработчик считается найденным, если тип объекта указанного после throw такой же как и
- 36. Исключения при переполнении Процессом их генерации можно управлять помощью ключевых слов checked и unchecked. Данную проверку
- 37. Пример 3. Переполнение using System; class ExceptionTestClass { static byte s(byte a, byte b) { return
- 38. Пример 3. Переполнение static void Main() { try { byte n=255, m=1; Console.WriteLine(s(n, m)); } catch
- 39. Результат n=255 и m=1 сгенерируется исключение и обработается n=10,m=5, то исключение не будет сгенерирована (так как
- 40. Исключение переполнения Проверку переполнения обычно выключают только в тех случаях, когда усечение результата необходимо в соответствии
- 42. Скачать презентацию