docs: def on_try(self, node):    # ('body', 'handlers', 'orelse', 'finalbody')
          """Try/except/else/finally blocks."""
          no_errors = True
          for tnode in node.body:
              self.run(tnode, with_raise=False)
              no_errors = no_errors and len(self.error) == 0
              if len(self.error) > 0:
                  e_type, e_value, e_tback = self.error[-1].exc_info
                  for hnd in node.handlers:
                      htype = None
                      if hnd.type is not None:
                          htype = builtins.get(hnd.type.id, None)
                      if htype is None or isinstance(e_type(), htype):
                          self.error = []
                          if hnd.name is not None:
                              self.node_assign(hnd.name, e_value)
                          for tline in hnd.body:
                              self.run(tline)
                          break
                  break
          if no_errors and hasattr(node, 'orelse'):
              for tnode in node.orelse:
                  self.run(tnode)
  
          if hasattr(node, 'finalbody'):
              for tnode in node.finalbody:
                  self.run(tnode)