2014-04-11 39 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