Pull to refresh

Обработка исключений в Python: новое исключение

def divide(x=1, y=0):
    try:
        return x / y # первый вызов исключения
    except ZeroDivisionError:
        raise ValueError("Pattern 2 error.") # повторный вызов, новое исключение

divide()

В этом примере вызывается новое исключение с сообщением, при этом сохраняется трассировка исходного исключения. Если возникает ошибка ZeroDivisionError, поднимается новая ошибка ValueError с пользовательским сообщением.

Этот паттерн полезен, когда вы хотите вызвать другой (более значимый) тип исключения, чтобы указать на конкретное состояние ошибки. При этом сохраняется трассировка исходного исключения.

Частичный перевод этой статьи из блога jerrynsh.com

Tags:
Total votes 3: ↑3 and ↓0+3
Comments0

Articles