Попробуйте, за исключением двух важных блоков обработки исключений, они полезны для предотвращения непредсказуемых, непредвиденных ошибок в программе. Они гибко обрабатывают ошибки, которые помогают легко определить ошибки.
Некоторые примеры ошибок
>>> 1/0 #PYTHON OUPUT Traceback (most recent call last): File "", line 1, in ZeroDivisionError: division by zero >>> x/5 #PYTHON OUPUT Traceback (most recent call last): File "", line 1, in NameError: name 'x' is not defined
ZerodivisionError
вызвано, когда число разделено на ноль. NameError
вызвано как переменная x
не был инициализирован. Вы узнаете больше о них в приведенных ниже примерах.
Создание попытки, кроме блока,
Начнем с указания попробуйте
блокировать И внутри он будет запускать программный код. В кроме
Блок будет печатать или журнал. Исключение произошло при тестировании кода.
Примечание. Исключение имеет разные типы, которые вы узнаете в этом учебном пособии.
try: a=10 b='12' c=a+b print("Result {}".format(c)) except: print("Exception has occured while adding two numbers") #PYTHON OUTPUT Exception has occured while adding two numbers
В приведенном выше сценарии мы проверяем операцию добавления. Но вы можете заметить, что в блоке Try мы предпринимаем добавление по номеру, а другая – это строка, поэтому, когда мы запустим код, мы получим ошибку, и блок Try передаст ошибку, кроме блока, чтобы обрабатывать ее более изящным образом, только если Ошибка произошла еще, пропустит этот шаг. Мы также можем цепорить кроме
блокировать несколько раз
try: a=10 b='12' c=a+b print("Result {}".format(c)) except NameError: print("Variable is not defined") except ZeroDivisionError: print("Error while trying to divide by Zero") except TypeError: print("Unsupported Operands.") #PYTHON OUTPUT Unsupported Operands.
Обрабатывать более одного исключения
try: a=21 b=0 c=a/b print(c) except NameError as n: print("Variable is not defined n message : {}".format(n)) except ZeroDivisionError as z: print("Error while trying to divide by Zero n message : {}".format(z)) except TypeError: print("Unsupported Operands n message : {}".format(z)) #PYTHON OUTPUT Error while trying to divide by Zero message : division by zero
Настаивал на вызове кроме
Блок один за другим мы можем назначить все вышеперечисленные исключения в один блок.
try: a=21 b=0 c=a/c print(c) except (NameError, ZeroDivisionError, TypeError): print('Error has occured.') #PYTHON OUTPUT Error has occured.
Попробуйте кроме и наконец
Наконец, является необязательным оператором в блоке Try-Except. Это выполняется каждый раз, когда выполняется оператор try-except, даже если произошла ошибка.
try: a=21 b=0 c=a/b print(c) except: print("Exception has occured.") finally: print("Finally block is executed every time try...except block is executed.") #PYTHON OUTPUT Exception has occured. Finally block is executed every time try...except block is executed.
Повышение исключений
поднять
Обработка исключений? Они полезны для указанных случаев, когда программист преднамеренно поднимает и сообщается об исключении.
Повышение исключения с использованием оператора повышения
В этом примере мы выразим ошибку без оператора Try-Except.
a = None if a != None: print("exists") else: raise Exception("Variable is not defined.") #PYTHON OUTPUT Traceback (most recent call last): File "main.py", line 6, in raise Exception("Variable is not defined.") Exception: Variable is not defined.
Эта статья была взята из Попробуйте, кроме обработки исключений в Python
Справочные сообщения
- Python JSON MODULE
- Работа с классами и объектами Python
Оригинал: “https://dev.to/pavanbaddi/python-try-except-exception-handling-3d05”