ast.ExceptHandler
is a class defined in the ast
module that expresses the except
clause in Python in the form of an Abstract Syntax Tree. When the parse()
method of ast
is called on Python source code that contains an except
clause, the ast.ExceptHandler
class is invoked, which expresses the except
clause to a node in an ast
tree data structure. The ast.ExceptHandler
class represents the ExcpetHandler node type in the ast
tree.
type
: the exception type that is matched. type
is typically a Name
node.name
: a raw string that contains the name of the exception or a None
node if no name is specified.body
: list of nodes in the except
block.import ast from pprint import pprint class ExceptHandlerVisitor(ast.NodeVisitor): def visit_Try(self, node): print('Node type: Try\nFields:', node._fields) ast.NodeVisitor.generic_visit(self, node) def visit_ExceptHandler(self, node): print('Node type: ExceptHandler\nFields:', node._fields) ast.NodeVisitor.generic_visit(self, node) def visit_Name(self, node): print('Node type: Name\nFields:', node._fields) ast.NodeVisitor.generic_visit(self, node) def visit_Pass(self, node): print('Node type: Pass\nFields:', node._fields) ast.NodeVisitor.generic_visit(self, node) visitor = ExceptHandlerVisitor() tree = ast.parse(""" try: pass except TypeError: pass else: pass finally: pass """) pprint(ast.dump(tree)) visitor.visit(tree)
ExceptHandlerVisitor
class that extends from the parent class ast.NodeVisitor
. We override the predefined visit_Try
, visit_ExceptHandler
, visit_Name
, and visit_Pass
methods in the parent class, which receive the Try
, ExceptHandler
, Name
, and Pass
nodes, respectively. In the method, we print the type and the fields inside the node and call the generic_visit()
method, which invokes the propagation of visit on the children nodes of the input node.ExceptHandlerVisitor
.try
and except
block. We pass the code to the ast.parse()
method, which returns the result of the expression after evaluation and store the result in a tree.ast.dump()
method returns a formatted string of the tree structure in a tree.visit
method available to the visitor object visits all the nodes in the tree structure.RELATED TAGS
CONTRIBUTOR
View all Courses