Презентация на тему: "Обработка исключительных ситуаций"
презентация к уроку
Презентация на тему: "Обработка исключительных ситуаций"
Обзр конструкции try catch finaly в языке программирования C#
Скачать:
Вложение | Размер |
---|---|
obrabotka_isklyuchitelnyh_situatsiy.pptx | 1.13 МБ |
Предварительный просмотр:
Подписи к слайдам:
Конструкция try..catch.. finally Иногда при выполнении программы возникают ошибки, которые трудно предусмотреть или предвидеть, а иногда и вовсе невозможно. Например , при передачи файла по сети может неожиданно оборваться сетевое подключение. Такие ситуации называются исключениями . Язык C# предоставляет разработчикам возможности для обработки таких ситуаций. Для этого в C# предназначена конструкция try ... catch ... finally .
Конструкция try...catch...finally .
При использовании блока try ... catch .. finally вначале выполняются все инструкции в блоке try . Если в этом блоке не возникло исключений, то после его выполнения начинает выполняться блок finally . И затем конструкция try .. catch .. finally завершает свою работу .
Если же в блоке try вдруг возникает исключение, то обычный порядок выполнения останавливается, и среда CLR начинает искать блок catch , который может обработать данное исключение. Если нужный блок catch найден, то он выполняется, и после его завершения выполняется блок finally . Если нужный блок catch не найден, то при возникновении исключения программа аварийно завершает свое выполнение.
Рассмотрим следующий пример:
В данном случае происходит деление числа на 0, что приведет к генерации исключения. И при запуске приложения в режиме отладки мы увидим в Visual Studio окошко, которое информирует об исключении :
В этом окошке мы видим, что возникло исключение, которое представляет тип System.DivideByZeroException , то есть попытка деления на ноль. С помощью пункта View Details можно посомтреть более детальную информацию об исключении. И в этом случае единственное, что нам остается, это завершить выполнение программы.
Чтобы избежать подобного аварийного завершения программы, следует использовать для обработки исключений конструкцию try ... catch ... finally . Так, перепишем пример следующим образом:
В данном случае у нас опять же возникнет исключение в блоке try , так как мы пытаемся разделить на ноль. И дойдя до строки int y = x / 0; выполнение программы остановится. CLR найдет блок catch и передаст управление этому блоку. После блока catch будет выполняться блок finally . Таким образом, программа по-прежнему не будет выполнять деление на ноль и соответственно не будет выводить результат этого деления, но теперь она не будет аварийно завершаться, а исключение будет обрабатываться в блоке catch .
Следует отметить, что в этой конструкции обязателен блок try . При наличии блока catch мы можем опустить блок finally :
И, наоборот, при наличии блока finally мы можем опустить блок catch и не обрабатывать исключение : Однако, хотя с точки зрения синтаксиса C# такая конструкция вполне корректна, тем не менее, поскольку CLR не сможет найти нужный блок catch , то исключение не будет обработано, и программа аварийно завершится.
Обработка исключений и условные конструкции Ряд исключительных ситуаций может быть предвиден разработчиком. Например, пусть программа предусматривает ввод числа и вывод его квадрата :
Если пользователь введет не число, а строку, какие-то другие символы, то программа выпадет в ошибку. С одной стороны, здесь как раз та ситуация, когда можно применить блок try .. catch , чтобы обработать возможную ошибку. Однако гораздо оптимальнее было бы проверить допустимость преобразования :
Метод Int32.TryParse() возвращает true , если преобразование можно осуществить, и false - если нельзя. При допустимости преобразования переменная x будет содержать введенное число. Так, не используя try ... catch можно обработать возможную исключительную ситуацию . С точки зрения производительности использование блоков try .. catch более накладно, чем применение условных конструкций. Поэтому по возможности вместо try .. catch лучше использовать условные конструкции на проверку исключительных ситуаций.
По теме: методические разработки, презентации и конспекты
Презентация по теме "Обработка притачной кокетки"
Презентация к уроку производственного обучения "Обработка притачной кокетки"...
Воротник с отрезной стойкой. Презентация по теме обработка деталей и узлов мужских сорочек.Разработка урока производственного обучения
Презентация "Воротник с отрезной стойкой"Презентация по теме "Обработка деталей и узлов мужских сорочек"Разработка урока производственного обучения....
презентация на тему: "Обработка застежек" часть 1
В презентации представлены виды застежек их обработка...
презентация на тему: "Обработка застежек" часть 2
Презентация на тему обработки бортов подбортами и различных видов застежек....
презентация на тему: "Обработка карманов в швейных изделиях".
В презентации дается описание разновидности карман в швейных изделиях и обработка одного из них....
презентация на тему: "Обработка ручных стежков и строчек".
В презентации представлены обработки различных ручных стежков и строчек, терминология ручных работ , задание для тестирования и самооценки....
презентация на тему: "Обработка ручных стежков и строчек". (продолжение)
В презентации представлены способы обработки ручных стежков и строчек, тестовое задание для самоконтроля....