Code: Alles auswählen
class test1:
pass
class test2:
def __init__(self):
pass
def make_class_instance(module_class):
try:
module_class("Blödes Beispiel")
except TypeError,e:
if str(e) == "this constructor takes no arguments":
print "Fehler, __init__(txt) existiert nicht:", e
elif str(e).startswith("__init__"):
print "Fehler in Argumentübergabe:", e
else:
print "Fehler in Modul-Klasse:", e
print 1,"-"*50
make_class_instance(test1)
print 2,"-"*50
make_class_instance(test2)
print 3,"-"*50
make_class_instance("noch ein Fehler")
Ist str(e) == "this constructor takes no arguments" und str(e).startswith("__init__") irgendwie einfacher/sinnvoller abzufragen???1 --------------------------------------------------
Fehler, __init__(txt) existiert nicht: this constructor takes no arguments
2 --------------------------------------------------
Fehler in Argumentübergabe: __init__() takes exactly 1 argument (2 given)
3 --------------------------------------------------
Fehler in Modul-Klasse: 'str' object is not callable