アプリケーションによってスローされた例外メッセージを表示するために、カスタム メッセージを表示する必要があります。だから、私は似たようなものを実装することを計画していますが、それを行う方法がわかりません。
class A(Exception):
    """Base class for exceptions in this module."""
    pass
class B(A):
    """Expect a custom message here."""
    def __init__(self, err_msg):
        super(B, self).__init__(err_msg)
        self.err_msg = err_msg
    def __str__(self):
        return self.err_msg
class C(A):
    """Expect a custom message here."""
    def __init__(self, err_msg):
        super(C, self).__init__(err_msg)
        self.err_msg = err_msg
    def __str__(self):
        return self.err_msg
class D(A):
    """Expect the default behavior here."""
    pass
initとstrの部分の繰り返しをなくして、それらを A 自体にマージできるかどうか疑問に思っていましたか?