83 подписчика
Генерация исключений и оператор raise Иногда возникает необходимость вручную сгенерировать то или иное исключение. Для этого применяется оператор raise. Например, сгенерируем исключение try: number1 = int(input("Введите первое число: ")) number2 = int(input("Введите второе число: ")) if number2 == 0: raise Exception("Второе число не должно быть равно 0") print("Результат деления двух чисел:", number1/number2) except ValueError: print("Введены некорректные данные") except Exception as e: print(e)...
1 год назад
519 подписчиков
Как мы помним: исключения - это код, который выполняется когда происходит ошибка. И названия исключений прописаны в документации. Но можно писать и собственные исключения. Допустим мы хотим, чтобы list позволял добавить только четные числа. Для начала требуется написать класс исключения. Напишем, например, по смыслу - NonEvenError. NonEvenError будет бросаться при попытке добавить в list нечётное число: Он унаследован от класса Exception и больше ничего от него не требуется, поэтому стоит заглушка - pass...
4 года назад
6K подписчиков
Статья является продолжением статей: Генерация собственных исключений С помощью оператора raise в Python можно генерировать свои собственные исключения. Если посмотреть на иерархию исключений, то возникает вопрос, а собственно зачем генерировать сои исключения. если данная иерархия охватывает все возможные критические ошибки. А все остальное можно ведь решить возвращая ошибки из функций. Это действительно так, НО. Дело в том, что может быть целая цепочка вызовов функций, а вам нужно среагировать на ошибку, которая находиться где-то в конце цепочки...
3 года назад