在python中获取有关错误信息的最佳方法

时间:2017-12-11 12:25:43

标签: python

我正在学习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

最好的方法是什么?还有其他方法吗?

由于

1 个答案:

答案 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)