Try ... Except Python

try блок позволяет вам тестировать блок кода, чтобы найти ошибки.

except блок позволяет вам обрабатывать ошибки.

finally блок позволяет вам выполнять код, независимо от результатов блока try и except.

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

Когда мы вызываем Python и возникает ошибка или исключение, обычно это останавливает и генерирует сообщение об ошибке.

можно использовать try представления обрабатывают эти исключения:

Пример

блок try вызовет исключение, потому что x не определено:

try:
  print(x)
except:
  print("An exception occurred")

Запуск примера

Поскольку блок try вызвал ошибку, будет выполнен блок except.

Если нет блока try, программа упадет и вызовет ошибку:

Пример

эта команда вызовет ошибку, потому что x не определено:

print(x)

Запуск примера

множественные исключения

Вы можете определить любое количество блоков exception по вашему усмотрению, например, если вы хотите выполнить специальный блок кода для особого типа ошибок:

Пример

Если блок try вызывает NameErrorЕсли задан, то выводится сообщение, если другая ошибка, то выводится другое сообщение:

try:
  print(x)
except NameError:
  print("Variable x is not defined")
except:
  print("Something else went wrong")

Запуск примера

Else

Если не было вызванно ошибку, то вы можете использовать else ключевые слова для определения блока кода, который нужно выполнить:

Пример

В этом примереtry блок не будет генерировать никаких ошибок:

try:
  print("Hello")
except:
  print("Something went wrong")
else:
  print("Nothing went wrong")

Запуск примера

Finally

Если указано finally Если блок, то независимо от того,引发了 ли блок try ошибку, всегда будет выполняться блок finally.

Пример

try:
  print(x)
except:
  print("Something went wrong")
finally:
  print("The 'try except' is finished")

Запуск примера

Это очень полезно для закрытия объектов и очистки ресурсов:

Пример

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

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  print("Что-то пошло не так при записи в файл")
finally:
  f.close()

Запуск примера

Программа может продолжить работу, и файловый объект не будет открыт.

Вызывать исключения

Как разработчик Python, вы можете выбрать вызов исключения при возникновении условия.

Чтобы вызвать (вызвать) исключение, используйте raise Ключевые слова.

Пример

Если x меньше 0, то вызывается исключение и программа останавливается:

x = -1
if x < 0:
  raise Exception("Извините, числа меньше нуля не допускаются")

Запуск примера

raise Ключевые слова используются для вызова исключений.

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

Пример

Если x не является целым числом, то вызывается TypeError:

x = "hello"
if not type(x) is int:
  raise TypeError("Разрешены только целые числа")

Запуск примера