Python Приложения могут вызывать пользовательские исключения, создав новый класс исключения. Пользовательские исключения должны быть получены из Исключение сорт.
Что такое исключение?
Исключение может быть брошено с поднять ключевое слово. Они могут быть обработаны с попробовать блокировать.
Вы можете попробовать это в корпусе Python, набрав Поднять исключение («Ваше сообщение») Отказ
➜ ~ python3
Python 3.7.5 (default, Nov 20 2019, 09:21:52)
[GCC 9.2.1 20191008] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> raise Exception("No can do")
Traceback (most recent call last):
File "", line 1, in
Exception: No can do
>>>
Все встроенные исключения используют Исключение сорт. Определенные пользователем исключения должны быть получены из этого класса ( Унаследовано ).
Пользовательское исключение
Показанная ниже программа создает пользовательское исключение HappyError что наследует от Исключение сорт.
class HappyError(Exception):
pass
raise HappyError("To happy to run")
Вышеуказанная программа затем повышает HappyError исключение:
➜ ~ python3 program.py Traceback (most recent call last): File "t.py", line 5, inraise HappyError("To happy to run") __main__.HappyError: To happy to run
Многие модули определяют свои собственные исключения.
При желании вы можете переопределить Конструктор так:
class ValidationError(Exception):
def __init__(self, message, errors):
# Call the base class constructor with the parameters it needs
super().__init__(message)
# Now for your custom code...
self.errors = errors
Но с исключениями Python 3 вам не нужно преодолеть все. Если все, что вы хотите, это информативное сообщение для вашего исключения, сделайте это:
class MyException(Exception):
pass
raise MyException("My car is swimming")
Оригинал: “https://dev.to/bluepaperbirds/custom-exceptions-in-python-787”