Python raise: обработка исключений в Python
Ключевое слово "raise" в языке программирования Python используется для возбуждения исключений. Исключение - это специальный объект, который может быть возбужден в тех случаях, когда программа сталкивается с ошибкой или нестандартной ситуацией. Поднятие (raise) исключения - это способ программиста явно указать, что произошло исключительное событие и что необходимо выполнить определенные действия для обработки этой ситуации.
Основной синтаксис raise
в Python следующий:
raise Exception("Сообщение об ошибке")
Выражение Exception("Сообщение об ошибке")
создает новый экземпляр класса исключения. В данном случае, "Сообщение об ошибке" - это строка текста, которая будет содержать описание ошибки или причину возбуждения исключения. После создания объекта исключения, оператор raise
вызывает это исключение и передает его вверх по стеку вызовов до тех пор, пока не будет найден обработчик исключения или пока программа не завершится.
Давайте рассмотрим примеры кода, чтобы лучше понять, как работает raise
в Python.
Пример 1: Возбуждение и обработка базового исключения
<pre><code><tag class="hljs-function">def</tag> divide(a, b):
if b == 0 :
raise Exception("Деление на ноль недопустимо!") # Возбуждаем исключение
return a / b
try :
result = divide(10 , 0 )
except Exception as e:
print("Произошла ошибка:", str(e)) # Обрабатываем исключение и выводим сообщение
В этом примере, функция divide() проверяет делитель на ноль. Если делитель равен нулю, то возбуждается исключение с сообщением "Деление на ноль недопустимо!". Затем, используя блок try-except
, мы пытаемся выполнить деление и ловим возбужденное исключение. Если исключение возникло, мы выводим сообщение об ошибке.
Пример 2: Создание пользовательских исключений
<pre><code><tag class="hljs-class">class TooHighValueError(Exception):
def __init__ (self, value):
self .value = value
def __str__ (self):
return f"Значение {self.value} превышает допустимый предел"
def check_value(value):
if value > 100 :
raise TooHighValueError(value) # Возбуждаем пользовательское исключение
try :
check_value(200 )
except TooHighValueError as e:
print("Произошла ошибка:", str(e))
В этом примере мы создаем пользовательское исключение TooHighValueError
, которое будет возбуждено, если значение, переданное в функцию check_value()
, превышает 100. При возбуждении исключения, мы выводим сообщение о превышении допустимого предела.
Таким образом, raise
в языке программирования Python позволяет программисту явно указать на ошибку или нестандартное событие в программе, чтобы выполнить соответствующие действия при возникновении такой ситуации. Это мощный инструмент для обработки ошибок и контроля программного поведения.