我正在学习python。我正在做和监控电压的应用,我发现有时当你上升和错误时,关于这个错误的最终信息还不足以理解它,当它发生时。我的问题是:提供信息的最佳方式是什么?
例如,我知道我可以这样做:
class IncorrectVoltageError(Exception):
pass
raise IncorrectVoltageError('Incorrect voltage, should be 5V')
>>IncorrectVoltageError: Incorrect voltage, should be 5V
但是如果它在我的代码中是一个常见的错误,那么这些信息可能会在课堂上解释。
class IncorrectVoltageError(Exception):
'''Incorrect voltage, should be 5V'''
pass
raise IncorrectVoltageError(IncorrectVoltageError.__doc__)
>>IncorrectVoltageError: Incorrect voltage, should be 5V
最好的方法是什么?还有其他方法吗?
由于
答案 0 :(得分:2)
常见的方法是从父类重写特定方法。在这种情况下,它是__init__
方法。
这样的事情:
class IncorrectVoltageError(Exception):
def __init__(self, message=None, *args, **kwargs):
if not message:
message = "Incorrect voltage, should be 5V"
super().__init__(message, *args, **kwargs)