Исключения

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


Для обработки исключения в Python используется следующий синтаксис:

try: <код, который может вызвать исключения при выполнении> 

  except <КлассИсключения_1>:

  <код обработки исключения> 

  except <КлассИсключения_2>:

  <код обработки исключения> 

  ... 

else:

  <код выполняется, если не вызвано исключение в блоке try>

finally:

  <код, который выполняется всегда>

В Python можно создавать свои собственные исключения. Синтаксис создания исключения такой же, как и у создания класса. При создании исключения его необходимо наследовать от какого-либо стандартного класса-исключения (например, от Exception).

class NegativeNumberError(Exception):

    """Ошибка: число не должно быть отрицательным"""

    pass

def sqrt(x):

    if x < 0:

        raise NegativeNumberError("Нельзя вычислить корень из отрицательного числа!")

    return x ** 0.5

print(sqrt(-4))  # Ошибка!