def METHOD_NAME(self, node):
    """
    OUT = body's U handler's
    RAISES = handler's
    this equation is not has good has it could be...
    but we need type information to be more accurate
    """
    currs = (node,)
    raises = ()
    for handler in node.handlers:
        self.result.add_node(handler)
    for n in node.body:
        self.result.add_node(n)
        for curr in currs:
            self.result.add_edge(curr, n)
        currs, nraises = self.visit(n)
        for nraise in nraises:
            if isinstance(nraise, ast.Raise):
                for handler in node.handlers:
                    self.result.add_edge(nraise, handler)
            else:
                raises += (nraise,)
    for handler in node.handlers:
        ncurrs, nraises = self.visit(handler)
        currs += ncurrs
        raises += nraises
    return currs, raises