Обработка исключений на Python
Содержание
Что такое исключение?
Исключение является нежелательным событием , которое прерывает нормальный поток программы. Это может быть ошибка программирования, пытающаяся делить на ноль , пытаясь вызвать метод для объекта, который не определяет метод, или передачи недопустимого аргумента методу. Когда возникает исключение, выполнение программы завершается. В таких случаях мы получаем системное сообщение об ошибке .
Почему возникает исключение?
Могут быть несколько причин, из-за которых программа может вызывать исключение . НаПример:, когда мы пытаемся прочитать файл или получить вход от пользователя, есть вероятность, что произойдет что-то неожиданное - файл может быть перемещен или удален, и пользователь может ввести данные, которые не в правильном формате.
Обработка исключений на Python
Хорошая вещь об исключениях заключается в том, что их можно обрабатывать на Python . Обрабатывая исключения, мы можем предоставить значимое сообщение пользователю о проблеме, а не сообщение сгенерированное системой, что может быть непонятным для пользователя. Все ошибки времени выполнения, которые мы встретили, называются исключениями в Python. Python использует их, чтобы указать, что произошло что-то исключительное, и программа не может продолжаться, если она не обрабатывается.
Все исключения - это подклассы класса Exception. Примерочных , за исключением заявления могут быть использованы , чтобы обернуть целые программы или только отдельные части кода в ловушку и выявления ошибок. Если в инструкции try возникает ошибка, возникает исключение, и выполняется код под оператором except. НаПример:, невозможно делить на ноль . Если мы попытаемся это сделать, появится ZeroDivisionError и скрипт будет прерван.
Пример:
value = 10 zero = 0 result = value/zero print(result)
При выполнении вышеуказанного кода появится следующее сообщение об ошибке.
Traceback (most recent call last): File "test.py", line 5, in < module > result = value/zero ZeroDivisionError: division by zero
Примерочных , за исключением заявления могут быть использованы , чтобы обернуть целые программы или только отдельные части кода в ловушку и выявления ошибок. Поместите код, где мы ожидаем исключения после ключевого слова try. Ключевое слово except выполняет исключение, если оно поднято. Тип исключения указывается после ключевого слова except.
Пример:
value = 10 zero = 0 try: result = value/zero except ZeroDivisionError: print("Divided by zero is not possible")
Вывод:
Divided by zero is not possible
Try, finally в Python
Предложение finally всегда выполняется перед тем, как оставить оператор try , произошло ли исключение или нет. Предположим, вы читаете файл в своей программе Python. Как вы гарантируете, что файл-объект закрыт должным образом, было ли возбуждено исключение? Это можно сделать, используя блок finally . Предложение finally может использоваться, чтобы убедиться, что файлы или ресурсы закрыты или выпущены независимо от того, произошло ли исключение, даже если вы не поймаете исключение.
Пример:
try: myfile = open("test.txt", "w") # perform file operations finally: myfile.close()
Этот тип конструкции гарантирует, что файл закрыт, даже если возникает исключение.
Источник: net-informations.com