所以我不知道这是不是很好的做法,可能不是......
我在一般错误类下面有一系列自定义错误/警告,它们为它们提供了一般性的东西。
class Error(Exception):
"""Main error class."""
def __init__(self, *args):
"""Passable args."""
self.args = args
return None
class ValueOverwrite(Error):
"""When a value in a dictionary is overwriten."""
pass
class SaveOverwrite(Error):
"""When a file is overwriten"""
pass
当你提出错误并抓住它时可以用它做你想做的事情,但如果你想简化它,那么你只需要提高它 - 改变执行/打印的内容。
当某些东西被引发而没有被抓住时,它会打印出类似这样的东西
Traceback (most recent call last):
File ".\errortest.py", line 20, in <module>
raise Error("my msg", "a", "v")
__main__.Error: ('my msg', 'a', 'v')
我想更改此处打印的内容以查找这些错误。或至少在__main__.Error:
之后的位
(我解决了这个问题)
要做到这一点,我的猜测是我需要覆盖异常或基类异常类中的一个或多个方法,但我不知道环顾许多网站,文章,python doc我找不到任何东西。
源代码在这里,但它在C中,我得到了一些,但我不知道它的全部功能或所谓的功能是什么。
几乎没有任何关于代码的文档,例如内置错误以及如何制作自定义错误。
我现在不认为这是一个很好的方法,即使你打印出不同的东西,它仍然会在代码后破坏?
我该怎么办?或者这些类的模块在哪里? 或者只是坚持这样的事情:
try:
raise Error("my msg", "a", "v")
except Error as e:
print(e.args[0])