Исключения в 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)
Вывод:
Нельзя вычислить квадратный корень из отрицательного числа
Таким образом, ручное возбуждение исключений позволяет более гибко управлять потоком выполнения программы и обрабатывать различные условия в коде.
Перейти в телеграм, чтобы получить результаты теста





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