Python Попробуйте, кроме
Блок try
позволяет проверить блок кода на наличие ошибок.
Блок except
позволяет обработать ошибку.
Блок else
позволяет выполнять код при отсутствии ошибок.
Блок finally
позволяет выполнять код независимо от результата блоков try- и exclude.
Обработка исключений
Когда возникает ошибка или исключение, как мы это называем, Python обычно останавливается и генерирует сообщение об ошибке.
Эти исключения могут быть обработаны с помощью try
инструкции:
Пример
Блок try
сгенерирует исключение, потому что x
не определено:
try:
print(x)
except:
print("An exception occurred")
Поскольку блок try вызывает ошибку, будет выполнен блок exclude.
Без блока try программа вылетит и выдаст ошибку:
Пример
Этот оператор вызовет ошибку, потому что x
не определено:
print(x)
Много исключений
Вы можете определить столько блоков исключений, сколько хотите, например, если вы хотите выполнить специальный блок кода для особого вида ошибки:
Пример
Выведите одно сообщение, если блок try вызывает a, NameError
и другое для других ошибок:
try:
print(x)
except NameError:
print("Variable x
is not defined")
except:
print("Something else went
wrong")
Еще
Вы можете использовать else
ключевое слово для определения блока кода, который будет выполняться, если ошибок не возникло:
Пример
В этом примере try
блок не выдает никаких ошибок:
try:
print("Hello")
except:
print("Something went
wrong")
else:
print("Nothing went wrong")
Ну наконец то
Блок finally
, если он указан, будет выполнен независимо от того, вызовет ли блок try ошибку или нет.
Пример
try:
print(x)
except:
print("Something went
wrong")
finally:
print("The 'try except' is finished")
Это может быть полезно для закрытия объектов и очистки ресурсов:
Пример
Попробуйте открыть и записать в файл, который не доступен для записи:
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("Something went wrong when writing to the file")
finally:
f.close()
except:
print("Something went wrong when opening the
file")
Программа может продолжать работу, не оставляя файловый объект открытым.
Создать исключение
Как разработчик Python, вы можете выбрать исключение, если возникнет условие.
Чтобы сгенерировать (или вызвать) исключение, используйте raise
ключевое слово.
Пример
Выдать ошибку и остановить программу, если x меньше 0:
x = -1
if x < 0:
raise Exception("Sorry, no numbers below
zero")
Ключевое raise
слово используется для создания исключения.
Вы можете определить, какую ошибку вызывать и какой текст выводить пользователю.
Пример
Поднимите TypeError, если x не является целым числом:
x = "hello"
if not type(x) is int:
raise TypeError("Only
integers are allowed")