Что я должен определить в своем классе исключения, чтобы оболочка могла его напечатать значимым образом? Я попробовал следующее:В python, как я могу заставить свои собственные классы исключений печатать в оболочке?
#!/usr/bin/env python3.4
class MyError(Exception):
def __init__(self, myparam1, myparam2):
self.myparam1 = myparam1
self.myparam2 = myparam2
def __str__(self):
return 'param1: {0}, param2: {1}'.format(self.param1, self.param2)
def __repr__(self):
return self.__str__()
if __name__ == "__main__":
raise MyError(1, 2)
, который дает мне
Traceback (most recent call last):
File "./tmp.py", line 18, in <module>
raise MyError(1, 2)
__main__.MyError
То, что я хотел бы видеть, что есть результат __str__
вызова.