Python Try Except
Блок try
дозволяє перевірити блок коду на наявність помилок.
Блок except
дозволяє обробити помилку.
Блок else
дозволяє виконувати код, коли немає помилок.
Блок finally
дозволяє виконувати код, незалежно від результату блоків try- і exception.
Обробка винятків
Якщо виникає помилка або виняток, як ми це називаємо, Python зазвичай зупиняється та генерує повідомлення про помилку.
Ці винятки можна обробити за допомогою інструкції try
:
Приклад
Блок try
створить виняток, оскільки x
не визначено:
try:
print(x)
except:
print("Стався виняток")
Спробуйте самі »
Оскільки блок try викликає помилку, буде виконано блок exception.
Без блоку try програма вийде з ладу та викличе помилку:
Багато винятків
Ви можете визначити скільки завгодно блоків винятків, наприклад, якщо ви хочете виконати спеціальний блок коду для особливого типу помилки:
Приклад
Надрукуйте одне повідомлення, якщо блок try викликає NameError
, та інше для інших помилок:
try:
print(x)
except NameError:
print("Змінна x не визначена")
except:
print("Знову щось пішло не так. У вас криві руки!?")
Спробуйте самі »
Else
Ви можете використати ключове слово else
, щоб визначити блок коду, який буде виконано, якщо не буде виявлено жодних помилок:
Приклад
У цьому прикладі блок try
не створює жодної помилки:
try:
print("Hello")
except:
print("Щось пішло не так")
else:
print("Помилок немає")
Спробуйте самі »
Finally
Блок finally
, якщо вказано, буде виконано незалежно від того, викликає помилку блок try чи ні.
Приклад
try:
print(x)
except:
print("Щось пішло не так")
finally:
print("'try except' завершено")
Спробуйте самі »
Це може бути корисно для закриття об’єктів і очищення ресурсів:
Приклад
Спробуйте відкрити та записати файл, який не можна записувати:
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("Під час запису у файл сталася помилка")
finally:
f.close()
except:
print("Під час відкриття файлу сталася помилка")
Спробуйте самі »
Програма може продовжувати роботу, не залишаючи файловий об’єкт відкритим.
Викликати виняток
Як розробник Python, ви можете створити виняток, якщо виникає умова.
Щоб створити (або викликати) виняток, використовуйте ключове слово raise
.
Приклад
Викликати помилку та зупинити програму, якщо x менше 0:
x = -1
if x < 0:
raise Exception("Вибачте, чисел нижче нуля немає")
Спробуйте самі »
Ключове слово raise
використовується для виклику винятку.
Ви можете визначити, який тип помилки викликати, і текст, який потрібно надрукувати користувачеві.
Приклад
Викликати TypeError, якщо x не є цілим числом:
x = "hello"
if not type(x) is int:
raise TypeError("Допускаються лише цілі числа")
Спробуйте самі »