code: def visitTryExcept(self, node):
      gen = ConditionalSymbolVisitor()
      gen.visit_list(node.body)
  
      self.update_undefined(gen.undefined)
  
      handlers = [csv(hndlr) for hndlr in node.handlers]
  
      for g in handlers:
          self.update_undefined(g.undefined)
  
      stable_rhs = gen.stable_rhs.intersection(
          *[g.stable_rhs for g in handlers]
      )
      self.update_stable_rhs(stable_rhs)
  
      all_rhs = gen.rhs.union(*[g.rhs for g in handlers])
  
      self.update_cond_rhs(all_rhs - stable_rhs)
  
      stable_lhs = gen.stable_lhs.intersection(
          *[g.stable_lhs for g in handlers]
      )
      self.update_stable_lhs(stable_lhs)
  
      all_lhs = gen.lhs.union(*[g.lhs for g in handlers])
      self.update_cond_lhs(all_lhs - stable_lhs)
  
      gen = ConditionalSymbolVisitor()
      gen.visit_list(node.orelse)
  
      self.update_undefined(gen.undefined)
      self.update_cond_lhs(gen.lhs)
      self.update_cond_rhs(gen.rhs)
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  from ..visitors import Visitor, visit_children
  from ..visitors.symbol_visitor import get_symbols
  import ast
  from ...utils import py2op
label_desc: Use image node_id 27 for calling the ConditionalSymbolVisitor obj's underlying member method code with example usage: obj.visitTryExcept(node) without return types