code: def SETUP_EXCEPT(self, instr):
      to = instr.arg
  
      try_block = self.make_block(to, inclusive=False)
  
      assert try_block[-1].opname in [
          "JUMP_FORWARD",
          "JUMP_ABSOLUTE",
      ], try_block[-1]
      assert try_block[-2].opname == "POP_BLOCK", try_block[-2]
  
      try_stmnts = self.decompile_block(try_block[:-2]).stmnt()
      body = try_stmnts
  
      handlers_blocks = self.make_block(
          try_block[-1].arg, inclusive=False, raise_=False
      )
  
      end, handlers = self.split_handlers(handlers_blocks)
  
      # raise exception in python 3 (python 2 ilst does not include end so else may go beyond)
      else_block = self.make_block(end, inclusive=False, raise_=py3)
  
      else_stmnts = self.decompile_block(else_block).stmnt()
      if else_stmnts:
          else_ = else_stmnts
      else:
          else_ = []
  
      try_except = _ast.TryExcept(
          body=body,
          handlers=handlers,
          orelse=else_,
          lineno=instr.lineno,
          col_offset=0,
      )
  
      self.ast_stack.append(try_except)
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import opcode
  import _ast
  from ..bytecodetools.instruction import Instruction
  from ..asttools.visitors.print_visitor import print_ast
  from ..utils import py3op, py2op, py3
label_desc: Use image node_id 5 for calling the CtrlFlowInstructions obj's underlying member method code with example usage: obj.SETUP_EXCEPT(instr) without return types