我想写一个类,它可以处理在我的应用程序中引发的错误。这样我就可以在一个类中更改错误消息的格式。Python自定义错误类来处理异常
class ErrorMessage(Exception):
def __init__(self, error, classname):
self.error = error
self.classname = classname
self.errormsg = "scriptname.py, {0}, error={1}".format(self.classname, self.error)
print self.errormsg
class LoadFiles():
try:
something-bad-causes-error
except Exception,e:
raise ErrorMessage(e, "LoadFiles")
此刻我的脚本打印机自定义错误,但它继续退出这一行之前打印的完整回溯“提高的ErrorMessage(即‘LoadFiles’)”
scriptname.py, LoadFiles, error= LoadFiles instance has no attribute 'config'
Traceback (most recent call last):
File "run.py", line 95, in <module>
scriptname().main()
File "run.py", line 54, in main
self.loadfiles()
File "run.py", line 45, in loadfiles
"removed" = LoadFiles(self.commands).load_files()
File "dir/core/loadfiles.py", line 55, in load_files
raise ErrorMessage(e, "LoadFiles")
scriptname.core.errormessage.ErrorMessage
任何想法如何解决这个问题?
感谢
为什么你还在使用'except Exception,e:'语法?新的语法支持[从2.6](https://docs.python.org/2/whatsnew/2.6.html#pep-3110-exception-handling-changes),现在已经超过8年了。 – jonrsharpe
为什么LoadFiles是一个类?它对我来说看起来像一个功能。 – tyteen4a03
我知道这是一个旁白,但如果你还没有,看一看标准的例外和警告套件。可能有一个适合你的用例。 – rshield