Помилки в Python можуть бути двох типів, тобто синтаксичні помилки та винятки. Помилки - це проблеми в програмі, через які програма припиняє виконання. З іншого боку, винятки виникають, коли відбуваються деякі внутрішні події, які змінюють нормальний хід програми.
Примітка: Щоб отримати додаткові відомості, зверніться до Помилки та винятки в Python
Нижче наведено деякі поширені виняткові помилки.
- IOError: якщо файл неможливо відкрити KeyboardInterrupt: коли користувач натискає непотрібну клавішу ValueError: коли вбудована функція отримує неправильний аргумент EOFError: якщо End-Of-File потрапляє без читання даних ImportError: якщо він не може знайти модуль
Спробуйте Except у Python
Оператор Try and Except використовується для обробки цих помилок у нашому коді на Python. Блок try використовується для перевірки деякого коду на наявність помилок, тобто код у блоці try буде виконано, якщо в програмі немає помилок. У той час як код всередині блоку винятку буде виконуватися кожного разу, коли програма стикається з помилкою в попередньому блоці спроби.
Синтаксис:
try: # Some Code except: # Executed if error in the # try block>
Як працює try()?
- По-перше, спробувати виконується пропозиція, тобто код між спробувати.
- Якщо немає винятку, то тільки спробувати пункт буде виконано, крім пункт закінчений.
- Якщо трапляється будь-який виняток, спробувати речення буде пропущено і крім пункт буде виконуватися.
- Якщо трапляється будь-який виняток, але крім пункт у коді не обробляє його, він передається зовнішньому спробувати заяви. Якщо виняток залишається необробленим, виконання припиняється.
- А спробувати оператор може мати більше одного крім пункт
Код 1: Не виняток, тому спробувати пункт буде виконуватися.
Python3
що таке rom
# Python code to illustrate> # working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> # Look at parameters and note the working of Program> divide(>3>,>2>)> |
>
>
Допоміжний простір: О(1)
jfx java підручник
Вихід:
Yeah ! Your answer is : 1>
Код 1: Є лише виняток крім буде виконано пункт.
Python3
# Python code to illustrate> # working of try()> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> ZeroDivisionError:> >print>(>'Sorry ! You are dividing by zero '>)> # Look at parameters and note the working of Program> divide(>3>,>0>)> |
>
>
Вихід:
Sorry ! You are dividing by zero>
Код 2: Інший спосіб написання крім оператор, показаний нижче, і таким чином він приймає лише винятки, які ви маєте перехопити, або ви можете перевірити, яка помилка виникає.
Python3
очищення кешу npm
# code> def> divide(x, y):> >try>:> ># Floor Division : Gives only Fractional Part as Answer> >result>=> x>/>/> y> >print>(>'Yeah ! Your answer is :'>, result)> >except> Exception as e:> ># By this way we can know about the type of error occurring> >print>(>'The error is: '>,e)> > divide(>3>,>'GFG'>)> divide(>3>,>0>)> |
>
>
Вихід:
The error is: unsupported operand type(s) for //: 'int' and 'str' The error is: integer division or modulo by zero>
Інакше положення
У Python ви також можете використовувати пропозицію else в блоці try-except, який має бути присутнім після всіх пропозицій, крім. Код потрапляє в блок else, лише якщо пропозиція try не викликає винятку.
Синтаксис:
try: # Some Code except: # Executed if error in the # try block else: # execute if no exception>
код:
dijkstra
Python3
# Program to depict else clause with try-except> > # Function which returns a/b> def> AbyB(a , b):> >try>:> >c>=> ((a>+>b)>/>/> (a>->b))> >except> ZeroDivisionError:> >print> (>'a/b result in 0'>)> >else>:> >print> (c)> > # Driver program to test above function> AbyB(>2.0>,>3.0>)> AbyB(>3.0>,>3.0>)> |
>
>
Вихід:
-5.0 a/b result in 0>
Нарешті ключове слово в Python
Python надає ключове слово finally, яке завжди виконується після блоків try і osim. Останній блок завжди виконується після звичайного завершення блоку спроби або після завершення блоку спроби через певні винятки.
Синтаксис:
try: # Some Code except: # Executed if error in the # try block else: # execute if no exception finally: # Some code .....(always executed)>
код:
Python3
# Python program to demonstrate finally> > # No exception Exception raised in try block> try>:> >k>=> 5>/>/>0> # raises divide by zero exception.> >print>(k)> > # handles zerodivision exception> except> ZeroDivisionError:> >print>(>'Can't divide by zero'>)> > finally>:> ># this block is always executed> ># regardless of exception generation.> >print>(>'This is always executed'>)> |
>
>
Вихід:
алгоритм сортування злиттям
Can't divide by zero This is always executed>
Пов'язані статті:
- Вихідні запитання
- Обробка винятків у Python
- Винятки, визначені користувачем