针对类中的错误输入值引发TypeError异常

Dal*_*lek 4 python exception-handling class

我正在尝试编写一个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
Run Code Online (Sandbox Code Playgroud)

我想如果inputsvalue不是字符串,那么它会引发错误消息.我将不胜感激任何帮助.

tde*_*ney 7

它在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")
Run Code Online (Sandbox Code Playgroud)

Python2区分ascii和unicode字符串 - "basestring"将它们都转换为两者.在python3中,只有unicode字符串,你使用'str'代替.