Генерация исключений и оператор 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)...
Как мы помним: исключения - это код, который выполняется когда происходит ошибка. И названия исключений прописаны в документации. Но можно писать и собственные исключения. Допустим мы хотим, чтобы list позволял добавить только четные числа. Для начала требуется написать класс исключения. Напишем, например, по смыслу - NonEvenError. NonEvenError будет бросаться при попытке добавить в list нечётное число: Он унаследован от класса Exception и больше ничего от него не требуется, поэтому стоит заглушка - pass...