07 Июл 2023
2 мин
523

Ручное возбуждение исключений в Python

Исключения в Python — это события, которые происходят в результате определенных действий. Например, при попытке открыть несуществующий файл будет

Содержание

Исключения в Python — это события, которые происходят в результате определенных действий. Например, при попытке открыть несуществующий файл будет возбуждено исключение. Однако, в некоторых случаях может потребоваться ручное возбуждение исключений, чтобы обработать определенные условия в коде.

Рассмотрим пример. Допустим, есть функция, которая принимает на вход число и возвращает его квадратный корень. Однако, квадратный корень из отрицательного числа не определен, и в этом случае может быть полезно возбудить исключение.

import math

def sqrt(x):
    if x < 0:
        raise ValueError("Нельзя вычислить квадратный корень из отрицательного числа")
    return math.sqrt(x)

В данном примере используется ключевое слово raise, чтобы возбудить исключение. После raise указывается тип исключения — в данном случае ValueError, и сообщение, которое будет показано при возбуждении исключения.

Теперь, если попытаться вызвать функцию sqrt с отрицательным числом, возникнет исключение ValueError:

sqrt(-1)

Вывод:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-2-2e0f8a7f289e> in <module>
----> 1 sqrt(-1)

<ipython-input-1-2644b44d1042> in sqrt(x)
      4 def sqrt(x):
      5     if x < 0:
----> 6         raise ValueError("Нельзя вычислить квадратный корень из отрицательного числа")
      7     return math.sqrt(x)

ValueError: Нельзя вычислить квадратный корень из отрицательного числа

Затем это исключение может быть перехвачено и обработано с помощью блока try/except:

try:
    print(sqrt(-1))
except ValueError as e:
    print(e)

Вывод:

Нельзя вычислить квадратный корень из отрицательного числа

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

Содержание

Добавить комментарий

Определи профессию по рисунку