Python - 在else语句中带有异常的嵌套try语句。

时间:2018-03-15 11:09:33

标签: python-3.x exception-handling nested

我在Python 3中构建一个函数,用于确定需要进行的转换,同时检查转换类型的有效性。

我面临的问题是独立检查源类型和目标类型。 (确保它们有效且彼此不相等)。

到目前为止,我已经提出了这个问题,但它没有触发任何例外情况。我也是Python的新手,所以我可能会错过一些最佳实践语法。我做错了什么?

def convert(self):
  try:
    #Source is A
    if (self.source_type == 'A'):
      try:
        if(self.target == 'B'):
          self.A_to_B()
        elif(self.target == 'C'):
          self.A_to_C()
      except Exception as e:
        print('Unknown target type!') 

    #Source is B
    elif (self.source_type == 'B'):
      try:
        if(self.target == 'A'):
          self.B_to_A()
        elif(self.target == 'C'):
          self.B_to_C()
      except Exception as e:
        print('Unknown target type!') 

    #Source is C
    elif (self.source_type == 'C'):
      try:
        if(self.target == 'A'):
          self.C_to_B()
        elif(self.target == 'B'):
          self.C_to_B()
      except Exception as e:
        print('Unknown target type!') 

  except Exception as e:
    print('Unknown source type!')

0 个答案:

没有答案