如何结合 if else 和 try except in python

How to combine if else with try except in python

我的 class MyMatch 中有函数列表,在函数

中组合 try except 和 if else 时出现缩进错误

这是我的比赛Class

class MyMatch(object):
    def __init__(self, match_id):
         self.followon = self._followon()

   def _followon(self):
      try:
          if self.match_json()['followon'] == '1':
              return True
      except:
          else:
              return False

我在后续函数的 else 块中遇到缩进错误

整个 if/else 语句需要放在 try 部分中。我认为最好的方法是做这样的事情:

class MyMatch(object):
    def __init__(self, match_id):
         self.followon = self._followon()

    def _followon(self):
       try:
           # Bellow code will return:
           # True when self.match_json()['followon'] == '1'
           # False when self.match_json()['followon'] != '1'
           return bool(self.match_json()['followon'] == '1')
       except KeyError:
           # This will return False when for example match_json()
           # does not have a 'followon' key
           return False

您的条件应该在 try 块内。改成这种格式

try:
    if self.match_json()['followon'] == '1':
          return True 
    else:
          return False
except:
    pass