Для обработки исключений Python предоставляет конструкцию из трех слов: try
, except
else
и finally
.
try
Основной код закладывается в try
except
Если в этом коде генерируется исключение, то работа кода в блоке try прерывается, и выполнение переходит в блок except.
else
выполняется в том случае, если исключения не было.
finally
выполняется в любом случае, даже если было исключение (применима, когда нужно непременно что-то сделать, к примеру, закрыть файл)
Синтаксис выглядит примерно так:
try:
# попробовать сделать это
except:
# если блок try не сработал, попробовать это
finally:
# всегда делать это
Ниже упрощенный пример такой конструкции. Здесь блок try
терпит неудачу, поскольку мы не можем складывать целые числа со строками. Блок except
устанавливает val = 10
, а затем блок finally
выводит complete
:
try:
val = 1 + 'A'
except:
val = 10
finally:
print('complete')
print(val)
#=> complete