Как переопределить AssertionError - PullRequest
0 голосов
/ 11 июня 2019

В ответ на возможность переопределить ошибку подтверждения кто-то предложил мне сделать this .

Может кто-нибудь помочь мне с тем, как я могу переопределить класс AssertionError, чтобы я мог сделать ошибку AssertionErrorи он будет называть мой пользовательский, такой как тот, что на картинке?

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Вы не можете переопределить исключения по умолчанию, но вы можете создать новый класс исключений с тем же именем и импортировать его в файл, где вы хотите его использовать, как показано на изображении, которым вы поделились.

Например:

custom_exception.py


class CustomAssertionError(Exception): 

    # Constructor or Initializer 
    def __init__(self, message): 
        # do your stuff here
        raise AssertionError(message)

usage.py

from custom_exception import AssertionError

def my_function():
    raise CustomAssertionError("some error message")

Для получения более подробной информации о создании пользовательских исключений в Python, пожалуйста, следуйте: Правильный способ объявления пользовательских исключений в современном Python?

0 голосов
/ 11 июня 2019

Вот способ сделать это.Это некрасиво и, вероятно, не очень рекомендуется, но это работает: (Обратите внимание, это работает в Python3, Python2.7 отличается)

Example IPython code on how to override the builtin AssertionError class

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...