code: def next_except_jump(self, start):
          
  
          if self.code[start] == self.opc.DUP_TOP:
              except_match = self.first_instr(start, len(self.code), self.opc.PJIF)
              if except_match:
                  jmp = self.prev[self.get_target(except_match)]
  
                  # In Python < 2.7 we may have jumps to jumps
                  if self.version < 2.7 and self.code[jmp] in self.jump_forward:
                      self.not_continue.add(jmp)
                      jmp = self.get_target(jmp)
                      prev_offset = self.prev[except_match]
                      # COMPARE_OP argument should be "exception-match" or 10
                      if (self.code[prev_offset] == self.opc.COMPARE_OP and
                          self.code[prev_offset+1] != 10):
                          return None
                      if jmp not in self.pop_jump_if | self.jump_forward:
                          self.ignore_if.add(except_match)
                          return None
  
                  self.ignore_if.add(except_match)
                  self.not_continue.add(jmp)
                  return jmp
  
          count_END_FINALLY = 0
          count_SETUP_ = 0
          for i in self.op_range(start, len(self.code)):
              op = self.code[i]
              if op == self.opc.END_FINALLY:
                  if count_END_FINALLY == count_SETUP_:
                      if self.version == 2.7:
                          assert self.code[self.prev[i]] in \
                              self.jump_forward | frozenset([self.opc.RETURN_VALUE])
                      self.not_continue.add(self.prev[i])
                      return self.prev[i]
                  count_END_FINALLY += 1
              elif op in self.setup_ops:
                  count_SETUP_ += 1
docs: Return the next jump that was generated by an except SomeException:
          construct in a try...except...else clause or None if not found.