Обработка исключений презентация

Содержание

Слайд 2

Обработка исключений Исключения - это извещения интерпретатора, возбуждаемые в случае

Обработка исключений

Исключения - это извещения интерпретатора, возбуждаемые в случае возникновения ошибки

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

Типы ошибок в программе:

1. Синтаксические - это ошибки в имени оператора или функции, отсутствие закрывающей или открывающей кавычек и т. д., т. е. ошибки в синтаксисе языка.

2. Логические - это ошибки в логике программы, которые можно выявить только по результатам ее работы.

3. Ошибки времени выполнения - это ошибки, которые возникают во время работы программы. Причиной являются события, не предусмотренные программистом. Классическим примером служит деление на ноль

Слайд 3

Примеры ошибок >>> print("Heт завершающей кавычки!) SyntaxError: EOL while scanning

Примеры ошибок

>>> print("Heт завершающей кавычки!)
SyntaxError: EOL while scanning string literal
>>> def

test(x, у) : return х/у
>>> test(4, 2) # Нормально
2.0
>>> test(4, 0) # Ошибка
Traceback (most recent call last):
File "", line 1, in
test(4, 0) # Ошибка
File "", line 1, in test
def test(x, у): return х/у
ZeroDivisionError: division Ьу zero
Слайд 4

В языке Python исключения возбуждаются не только при ошибке, но

В языке Python исключения возбуждаются не только при ошибке, но и

как уведомление о наступлении каких-либо событий:
>>> "Строка".indех("текст")
Traceback (most recent call last):
File "", line 1, in
"Строка".indех("текст")
ValueError: substring not found

Обработка исключений

Слайд 5

Инструкция try...except...else...finally

Инструкция try...except...else...finally

Слайд 6

Обработка исключения «Деление на ноль» Вложенные обработчики

Обработка исключения «Деление на ноль»

Вложенные обработчики

Слайд 7

Обработка нескольких исключений Получение информации об исключении

Обработка нескольких исключений

Получение информации об исключении

Слайд 8

Пример перехвата всех исключений На практике следует избегать пустых инструкций

Пример перехвата всех исключений

На практике следует избегать пустых инструкций except, т.

к. можно перехватить исключение, которое является лишь сигналом системе, а не ошибкой!

Блок else и finally

Результат выполнения при отсутствии исключения

Результат выполнения при наличии исключения

Слайд 9

Отсутствие блока except При наличии исключения и отсутствии блока except

Отсутствие блока except

При наличии исключения и отсутствии блока except инструкции внутри

блока finally будут выполнены, но исключение не будет обработано
Слайд 10

Пример. Суммирование неопределенного количества чисел

Пример. Суммирование неопределенного количества чисел

Слайд 11

Инструкция with...as Язык Python поддерживает протокол менеджеров контекста. Этот протокол

Инструкция with...as

Язык Python поддерживает протокол менеджеров контекста. Этот протокол гарантирует выполнение

завершающих действий (например, закрытие файла) вне зависимости от того, произошло исключение внутри блока кода или нет. Для работы с протоколом предназначена инструкция with ... as.

Метод __enter__ () вызывается после создания объекта. Значение, возвращаемое этим методом, присваивается переменной, указанной после ключевого слова as. Если переменная не указана, возвращаемое значение игнорируется.

Далее выполняются инструкции внутри тела инструкции with. Если при выполнении возникло исключение, то управление передается методу__exit__ ()

Слайд 12

Протокол менеджеров контекста

Протокол менеджеров контекста

Слайд 13

Инструкция with as при работе с файлами Некоторые встроенные объекты

Инструкция with as при работе с файлами

Некоторые встроенные объекты поддерживают протокол

по умолчанию - например, файлы. Если в инструкции with указана функция open (), то после выполнения инструкций внутри блока файл автоматически будет закрыт.
Слайд 14

Классы встроенных исключений

Классы встроенных исключений

Слайд 15

Регулярные выражения Регулярные выражения предназначены для выполнения в строке сложного

Регулярные выражения

Регулярные выражения предназначены для выполнения в строке сложного поиска или

замены. В языке Python использовать регулярные выражения позволяет модуль re. Прежде чем задействовать функции из этого модуля, необходимо подключить модуль с помощью инструкции:
import re
Слайд 16

Регулярные выражения 1) р = re.compile(r"^\w+$") 2) р = re.compile("^\\w+$") Данные символы имеют специальное назначение:

Регулярные выражения

1) р = re.compile(r"^\w+$")
2) р = re.compile("^\\w+$")

Данные символы имеют

специальное назначение:
Слайд 17

Проверка правильности ввода даты

Проверка правильности ввода даты

Слайд 18

Проверка правильности ввода даты

Проверка правильности ввода даты

Слайд 19

Пример использования многострочного режима

Пример использования многострочного режима

Слайд 20

Проверка наличия целого числа в строке

Проверка наличия целого числа в строке

Слайд 21

Отсутствие привязки к началу или концу строки

Отсутствие привязки к началу или концу строки

Слайд 22

Привязка к началу и концу строки

Привязка к началу и концу строки

Слайд 23

Метасимволы

Метасимволы

Слайд 24

Квадратные скобки

Квадратные скобки

Слайд 25

Синтаксис регулярных выражений

Синтаксис регулярных выражений

Слайд 26

Стандартные классы

Стандартные классы

Слайд 27

Модуль Модулем в языке Python называется любой файл с программным

Модуль

Модулем в языке Python называется любой файл с программным кодом. Каждый

модуль может импортировать другой модуль, получая, таким образом, доступ к атрибутам (переменным, функциям и классам), объявленным внутри импортированного модуля. Мо-дуль может быть написан не только на Python, а например, на C или C++. Получить имя модуля позволяет атрибут __name__.
Слайд 28

Использование псевдонимов Если название модуля слишком длинное или неудобное по

Использование псевдонимов

Если название модуля слишком длинное или неудобное по каким-то причинам,

то для него можно создать псевдоним с помощью ключевого слова as:
Слайд 29

Инструкция from Первый формат позволяет подключить из модуля только указанные

Инструкция from

Первый формат позволяет подключить из модуля только указанные атрибуты. Для

длинных имен можно также назвачить псевдоним, указав его после ключевого слова as:
Слайд 30

Инструкция from Импортируемые атрибуты можно разместить на нескольких строках, если

Инструкция from

Импортируемые атрибуты можно разместить на нескольких строках, если их много,

для лучшей читаемости кода:

Второй вариант формата инструкции from позволяет импортировать из модуля все идентификаторы:

Слайд 31

Создание своего модуля на Python Создадим файл mymodule.py, в которой

Создание своего модуля на Python

Создадим файл mymodule.py, в которой определим какие-нибудь

функции:

Теперь в этой же папке создадим другой файл, например main.py

Слайд 32

Пакеты Пакетом называется каталог с модулями, в котором расположен файл

Пакеты

Пакетом называется каталог с модулями, в котором расположен файл инициализации __init__.py.

Файл инициализации может быть пустым или содержать код, который будет выполнен при первом обращении к пакету. В любом случае он обязательно должен присутствовать внутри каталога с модулями.
Слайд 33

Вопросы 1. Что произойдет с программой в случае исключения, если

Вопросы

1. Что произойдет с программой в случае исключения, если вы не

предусмотрите его обработку?
2. Назовите два способа, с помощью которых можно было бы организовать выполнение заключительных операций независимо от того, возникло исключение или нет.
3. Для чего служит инструкция try?
4. Для чего служит инструкция with/as?
Имя файла: Обработка-исключений.pptx
Количество просмотров: 106
Количество скачиваний: 0