我正在尝试编写一个 class
并且我希望如果该类的初始输入值不符合特定类型,它会引发异常。例如,我会使用 except TypeError
来返回错误。我不知道应该怎么做。我第一次尝试编写 class
如下:
class calibration(object):
def __init__(self, inputs, outputs, calibration_info, interpolations=2):
try:
self.inputs=inputs
except TypeError
self.outputs=outputs
self.cal_info=calibration_info
self.interpol=interpolations
我希望如果 inputs
值不是字符串,那么它会引发错误消息。如果有任何帮助,我将不胜感激。
最佳答案
它在 2.x 和 3.x 之间有点不同,但是使用 isinstance 来确定类型,如果您不满意,然后引发异常。
class calibration(object):
def __init__(self, inputs, outputs, calibration_info, interpolations=2):
if not isinstance(inputs, basestring):
raise TypeError("input must be a string")
Python2 区分 ascii 和 unicode 字符串——“basestring”将它们都转换。在 python3 中,只有 unicode 字符串,您可以使用 'str' 代替。
关于python - 为类中不正确的输入值引发 TypeError 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25985007/