2014-04-11 2 views
0

Я пытаюсь создать собственное представление Exception, следуя некоторым правилам. Я хочу создать базовый класс, который определяет правила.Получить текущий подкласс базового слоя

Например:

class MyBaseClassError(Exception): 
    def __init__(self, blabla): 
     super(MyBaseClassError, self).__init__(self) 
     self.balbla = blabla 
    def __str__(self): 
     return "[{}]:{}".format(self.__subclasses()[0].__name__, self.blabla) 

class ConfigFileError(MyBaseClassError): 
    pass 

Так вот он вернется:

print ConfigFileError("Try again :D") 
[ConfigParser]: Try again :D 

Я хочу, чтобы отобразить текущий подкласс вместо self.__subclasses()[0].__name__, который является первым список подкласса.

+0

Так на самом деле речь идет о том, как получить текущий подкласс класса, а не о создании пользовательских '__str__' исключение. Правильно ли я понимаю? – SethMMorton

+0

Извините, я сменил название. В начале мой вопрос касался '__str__', но я на самом деле ответил на него в письменной форме :). Поэтому мой вопрос касается подкласса «да». – Katsu

ответ

1

Это будет делать это:

def __str__(self): 
     return "[{}]:{}".format(self.__class__.__name__, self.blabla) 
+0

Зачем усложнять вопросы? спасибо – Katsu

Смежные вопросы