Блоки try
и except
используются для перехвата и обработки исключений. Программа сначала выполнит оператор try
"нормально". Если есть какие-либо исключения, которые запускаются в операторе try, запускается оператор except. Например,
try:
print(str) #Here, str isn't defined and you will get an exception which triggers the except statement
except NameError: #Here, you specify which exception you think might happen
#Do something
Вы можете иметь столько блоков исключений, сколько хотите! Также обратите внимание, что если вы поймаете исключение, другие не будут курок. Также обратите внимание, что блок исключений без аргументов перехватит все исключения.
Блок finally может быть добавлен и срабатывает, даже если было исключение или нет. Это может быть полезно для закрытия и очистки объектов. Другой пример,
try:
#stuff
except:
#stuff if exception
finally:
#do stuff even if there is or is not an exception
Я также должен упомянуть функцию pass
. Вы должны использовать его, если хотите игнорировать исключения. Например,
try:
#stuff
except:
pass #i don't want to do anything
Надеюсь, я помог!