--- source: crates/ruff_python_parser/tests/fixtures.rs input_file: crates/ruff_python_parser/resources/valid/statement/try.py --- ## AST ``` Module( ModModule { node_index: AtomicNodeIndex(..), range: 0..1223, body: [ Try( StmtTry { node_index: AtomicNodeIndex(..), range: 0..28, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 9..12, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 9..12, }, ), }, ), ], handlers: [ ExceptHandler( ExceptHandlerExceptHandler { range: 13..28, node_index: AtomicNodeIndex(..), type_: None, name: None, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 25..28, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 25..28, }, ), }, ), ], }, ), ], orelse: [], finalbody: [], is_star: false, }, ), Try( StmtTry { node_index: AtomicNodeIndex(..), range: 30..106, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 39..42, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 39..42, }, ), }, ), ], handlers: [ ExceptHandler( ExceptHandlerExceptHandler { range: 43..74, node_index: AtomicNodeIndex(..), type_: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 50..60, id: Name("Exception1"), ctx: Load, }, ), ), name: Some( Identifier { id: Name("e"), range: 64..65, node_index: AtomicNodeIndex(..), }, ), body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 71..74, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 71..74, }, ), }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 75..106, node_index: AtomicNodeIndex(..), type_: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 82..92, id: Name("Exception2"), ctx: Load, }, ), ), name: Some( Identifier { id: Name("e"), range: 96..97, node_index: AtomicNodeIndex(..), }, ), body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 103..106, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 103..106, }, ), }, ), ], }, ), ], orelse: [], finalbody: [], is_star: false, }, ), Try( StmtTry { node_index: AtomicNodeIndex(..), range: 108..184, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 117..120, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 117..120, }, ), }, ), ], handlers: [ ExceptHandler( ExceptHandlerExceptHandler { range: 121..151, node_index: AtomicNodeIndex(..), type_: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 128..137, id: Name("Exception"), ctx: Load, }, ), ), name: Some( Identifier { id: Name("e"), range: 141..142, node_index: AtomicNodeIndex(..), }, ), body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 148..151, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 148..151, }, ), }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 152..167, node_index: AtomicNodeIndex(..), type_: None, name: None, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 164..167, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 164..167, }, ), }, ), ], }, ), ], orelse: [], finalbody: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 181..184, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 181..184, }, ), }, ), ], is_star: false, }, ), Try( StmtTry { node_index: AtomicNodeIndex(..), range: 186..228, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 195..198, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 195..198, }, ), }, ), ], handlers: [ ExceptHandler( ExceptHandlerExceptHandler { range: 199..214, node_index: AtomicNodeIndex(..), type_: None, name: None, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 211..214, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 211..214, }, ), }, ), ], }, ), ], orelse: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 225..228, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 225..228, }, ), }, ), ], finalbody: [], is_star: false, }, ), Try( StmtTry { node_index: AtomicNodeIndex(..), range: 230..289, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 239..242, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 239..242, }, ), }, ), ], handlers: [ ExceptHandler( ExceptHandlerExceptHandler { range: 243..258, node_index: AtomicNodeIndex(..), type_: None, name: None, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 255..258, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 255..258, }, ), }, ), ], }, ), ], orelse: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 269..272, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 269..272, }, ), }, ), ], finalbody: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 286..289, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 286..289, }, ), }, ), ], is_star: false, }, ), Try( StmtTry { node_index: AtomicNodeIndex(..), range: 291..320, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 300..303, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 300..303, }, ), }, ), ], handlers: [], orelse: [], finalbody: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 317..320, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 317..320, }, ), }, ), ], is_star: false, }, ), Try( StmtTry { node_index: AtomicNodeIndex(..), range: 322..365, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 331..334, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 331..334, }, ), }, ), ], handlers: [], orelse: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 345..348, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 345..348, }, ), }, ), ], finalbody: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 362..365, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 362..365, }, ), }, ), ], is_star: false, }, ), Try( StmtTry { node_index: AtomicNodeIndex(..), range: 367..441, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 376..379, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 376..379, }, ), }, ), ], handlers: [ ExceptHandler( ExceptHandlerExceptHandler { range: 380..409, node_index: AtomicNodeIndex(..), type_: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 388..394, id: Name("GroupA"), ctx: Load, }, ), ), name: Some( Identifier { id: Name("eg"), range: 398..400, node_index: AtomicNodeIndex(..), }, ), body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 406..409, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 406..409, }, ), }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 410..441, node_index: AtomicNodeIndex(..), type_: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 418..432, id: Name("ExceptionGroup"), ctx: Load, }, ), ), name: None, body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 438..441, value: EllipsisLiteral( ExprEllipsisLiteral { node_index: AtomicNodeIndex(..), range: 438..441, }, ), }, ), ], }, ), ], orelse: [], finalbody: [], is_star: true, }, ), Try( StmtTry { node_index: AtomicNodeIndex(..), range: 443..577, body: [ Raise( StmtRaise { node_index: AtomicNodeIndex(..), range: 452..471, exc: Some( Call( ExprCall { node_index: AtomicNodeIndex(..), range: 458..471, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 458..468, id: Name("ValueError"), ctx: Load, }, ), arguments: Arguments { range: 468..471, node_index: AtomicNodeIndex(..), args: [ NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 469..470, value: Int( 1, ), }, ), ], keywords: [], }, }, ), ), cause: None, }, ), ], handlers: [ ExceptHandler( ExceptHandlerExceptHandler { range: 472..525, node_index: AtomicNodeIndex(..), type_: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 479..488, id: Name("TypeError"), ctx: Load, }, ), ), name: Some( Identifier { id: Name("e"), range: 492..493, node_index: AtomicNodeIndex(..), }, ), body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 499..525, value: Call( ExprCall { node_index: AtomicNodeIndex(..), range: 499..525, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 499..504, id: Name("print"), ctx: Load, }, ), arguments: Arguments { range: 504..525, node_index: AtomicNodeIndex(..), args: [ FString( ExprFString { node_index: AtomicNodeIndex(..), range: 505..524, value: FStringValue { inner: Single( FString( FString { range: 505..524, node_index: AtomicNodeIndex(..), elements: [ Literal( InterpolatedStringLiteralElement { range: 507..514, node_index: AtomicNodeIndex(..), value: "caught ", }, ), Interpolation( InterpolatedElement { range: 514..523, node_index: AtomicNodeIndex(..), expression: Call( ExprCall { node_index: AtomicNodeIndex(..), range: 515..522, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 515..519, id: Name("type"), ctx: Load, }, ), arguments: Arguments { range: 519..522, node_index: AtomicNodeIndex(..), args: [ Name( ExprName { node_index: AtomicNodeIndex(..), range: 520..521, id: Name("e"), ctx: Load, }, ), ], keywords: [], }, }, ), debug_text: None, conversion: None, format_spec: None, }, ), ], flags: FStringFlags { quote_style: Double, prefix: Regular, triple_quoted: false, }, }, ), ), }, }, ), ], keywords: [], }, }, ), }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 526..577, node_index: AtomicNodeIndex(..), type_: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 533..540, id: Name("OSError"), ctx: Load, }, ), ), name: Some( Identifier { id: Name("e"), range: 544..545, node_index: AtomicNodeIndex(..), }, ), body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 551..577, value: Call( ExprCall { node_index: AtomicNodeIndex(..), range: 551..577, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 551..556, id: Name("print"), ctx: Load, }, ), arguments: Arguments { range: 556..577, node_index: AtomicNodeIndex(..), args: [ FString( ExprFString { node_index: AtomicNodeIndex(..), range: 557..576, value: FStringValue { inner: Single( FString( FString { range: 557..576, node_index: AtomicNodeIndex(..), elements: [ Literal( InterpolatedStringLiteralElement { range: 559..566, node_index: AtomicNodeIndex(..), value: "caught ", }, ), Interpolation( InterpolatedElement { range: 566..575, node_index: AtomicNodeIndex(..), expression: Call( ExprCall { node_index: AtomicNodeIndex(..), range: 567..574, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 567..571, id: Name("type"), ctx: Load, }, ), arguments: Arguments { range: 571..574, node_index: AtomicNodeIndex(..), args: [ Name( ExprName { node_index: AtomicNodeIndex(..), range: 572..573, id: Name("e"), ctx: Load, }, ), ], keywords: [], }, }, ), debug_text: None, conversion: None, format_spec: None, }, ), ], flags: FStringFlags { quote_style: Double, prefix: Regular, triple_quoted: false, }, }, ), ), }, }, ), ], keywords: [], }, }, ), }, ), ], }, ), ], orelse: [], finalbody: [], is_star: false, }, ), Try( StmtTry { node_index: AtomicNodeIndex(..), range: 579..831, body: [ Raise( StmtRaise { node_index: AtomicNodeIndex(..), range: 588..669, exc: Some( Call( ExprCall { node_index: AtomicNodeIndex(..), range: 594..669, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 594..608, id: Name("ExceptionGroup"), ctx: Load, }, ), arguments: Arguments { range: 608..669, node_index: AtomicNodeIndex(..), args: [ StringLiteral( ExprStringLiteral { node_index: AtomicNodeIndex(..), range: 609..613, value: StringLiteralValue { inner: Single( StringLiteral { range: 609..613, node_index: AtomicNodeIndex(..), value: "eg", flags: StringLiteralFlags { quote_style: Double, prefix: Empty, triple_quoted: false, }, }, ), }, }, ), List( ExprList { node_index: AtomicNodeIndex(..), range: 615..668, elts: [ Call( ExprCall { node_index: AtomicNodeIndex(..), range: 616..629, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 616..626, id: Name("ValueError"), ctx: Load, }, ), arguments: Arguments { range: 626..629, node_index: AtomicNodeIndex(..), args: [ NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 627..628, value: Int( 1, ), }, ), ], keywords: [], }, }, ), Call( ExprCall { node_index: AtomicNodeIndex(..), range: 631..643, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 631..640, id: Name("TypeError"), ctx: Load, }, ), arguments: Arguments { range: 640..643, node_index: AtomicNodeIndex(..), args: [ NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 641..642, value: Int( 2, ), }, ), ], keywords: [], }, }, ), Call( ExprCall { node_index: AtomicNodeIndex(..), range: 645..655, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 645..652, id: Name("OSError"), ctx: Load, }, ), arguments: Arguments { range: 652..655, node_index: AtomicNodeIndex(..), args: [ NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 653..654, value: Int( 3, ), }, ), ], keywords: [], }, }, ), Call( ExprCall { node_index: AtomicNodeIndex(..), range: 657..667, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 657..664, id: Name("OSError"), ctx: Load, }, ), arguments: Arguments { range: 664..667, node_index: AtomicNodeIndex(..), args: [ NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 665..666, value: Int( 4, ), }, ), ], keywords: [], }, }, ), ], ctx: Load, }, ), ], keywords: [], }, }, ), ), cause: None, }, ), ], handlers: [ ExceptHandler( ExceptHandlerExceptHandler { range: 670..751, node_index: AtomicNodeIndex(..), type_: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 678..687, id: Name("TypeError"), ctx: Load, }, ), ), name: Some( Identifier { id: Name("e"), range: 691..692, node_index: AtomicNodeIndex(..), }, ), body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 698..751, value: Call( ExprCall { node_index: AtomicNodeIndex(..), range: 698..751, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 698..703, id: Name("print"), ctx: Load, }, ), arguments: Arguments { range: 703..751, node_index: AtomicNodeIndex(..), args: [ FString( ExprFString { node_index: AtomicNodeIndex(..), range: 704..750, value: FStringValue { inner: Single( FString( FString { range: 704..750, node_index: AtomicNodeIndex(..), elements: [ Literal( InterpolatedStringLiteralElement { range: 706..713, node_index: AtomicNodeIndex(..), value: "caught ", }, ), Interpolation( InterpolatedElement { range: 713..722, node_index: AtomicNodeIndex(..), expression: Call( ExprCall { node_index: AtomicNodeIndex(..), range: 714..721, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 714..718, id: Name("type"), ctx: Load, }, ), arguments: Arguments { range: 718..721, node_index: AtomicNodeIndex(..), args: [ Name( ExprName { node_index: AtomicNodeIndex(..), range: 719..720, id: Name("e"), ctx: Load, }, ), ], keywords: [], }, }, ), debug_text: None, conversion: None, format_spec: None, }, ), Literal( InterpolatedStringLiteralElement { range: 722..735, node_index: AtomicNodeIndex(..), value: " with nested ", }, ), Interpolation( InterpolatedElement { range: 735..749, node_index: AtomicNodeIndex(..), expression: Attribute( ExprAttribute { node_index: AtomicNodeIndex(..), range: 736..748, value: Name( ExprName { node_index: AtomicNodeIndex(..), range: 736..737, id: Name("e"), ctx: Load, }, ), attr: Identifier { id: Name("exceptions"), range: 738..748, node_index: AtomicNodeIndex(..), }, ctx: Load, }, ), debug_text: None, conversion: None, format_spec: None, }, ), ], flags: FStringFlags { quote_style: Double, prefix: Regular, triple_quoted: false, }, }, ), ), }, }, ), ], keywords: [], }, }, ), }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 752..831, node_index: AtomicNodeIndex(..), type_: Some( Name( ExprName { node_index: AtomicNodeIndex(..), range: 760..767, id: Name("OSError"), ctx: Load, }, ), ), name: Some( Identifier { id: Name("e"), range: 771..772, node_index: AtomicNodeIndex(..), }, ), body: [ Expr( StmtExpr { node_index: AtomicNodeIndex(..), range: 778..831, value: Call( ExprCall { node_index: AtomicNodeIndex(..), range: 778..831, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 778..783, id: Name("print"), ctx: Load, }, ), arguments: Arguments { range: 783..831, node_index: AtomicNodeIndex(..), args: [ FString( ExprFString { node_index: AtomicNodeIndex(..), range: 784..830, value: FStringValue { inner: Single( FString( FString { range: 784..830, node_index: AtomicNodeIndex(..), elements: [ Literal( InterpolatedStringLiteralElement { range: 786..793, node_index: AtomicNodeIndex(..), value: "caught ", }, ), Interpolation( InterpolatedElement { range: 793..802, node_index: AtomicNodeIndex(..), expression: Call( ExprCall { node_index: AtomicNodeIndex(..), range: 794..801, func: Name( ExprName { node_index: AtomicNodeIndex(..), range: 794..798, id: Name("type"), ctx: Load, }, ), arguments: Arguments { range: 798..801, node_index: AtomicNodeIndex(..), args: [ Name( ExprName { node_index: AtomicNodeIndex(..), range: 799..800, id: Name("e"), ctx: Load, }, ), ], keywords: [], }, }, ), debug_text: None, conversion: None, format_spec: None, }, ), Literal( InterpolatedStringLiteralElement { range: 802..815, node_index: AtomicNodeIndex(..), value: " with nested ", }, ), Interpolation( InterpolatedElement { range: 815..829, node_index: AtomicNodeIndex(..), expression: Attribute( ExprAttribute { node_index: AtomicNodeIndex(..), range: 816..828, value: Name( ExprName { node_index: AtomicNodeIndex(..), range: 816..817, id: Name("e"), ctx: Load, }, ), attr: Identifier { id: Name("exceptions"), range: 818..828, node_index: AtomicNodeIndex(..), }, ctx: Load, }, ), debug_text: None, conversion: None, format_spec: None, }, ), ], flags: FStringFlags { quote_style: Double, prefix: Regular, triple_quoted: false, }, }, ), ), }, }, ), ], keywords: [], }, }, ), }, ), ], }, ), ], orelse: [], finalbody: [], is_star: true, }, ), Try( StmtTry { node_index: AtomicNodeIndex(..), range: 833..1075, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 842..846, }, ), ], handlers: [ ExceptHandler( ExceptHandlerExceptHandler { range: 847..875, node_index: AtomicNodeIndex(..), type_: Some( StringLiteral( ExprStringLiteral { node_index: AtomicNodeIndex(..), range: 854..865, value: StringLiteralValue { inner: Single( StringLiteral { range: 854..865, node_index: AtomicNodeIndex(..), value: "exception", flags: StringLiteralFlags { quote_style: Double, prefix: Empty, triple_quoted: false, }, }, ), }, }, ), ), name: None, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 871..875, }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 876..894, node_index: AtomicNodeIndex(..), type_: Some( NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 883..884, value: Int( 1, ), }, ), ), name: None, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 890..894, }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 895..916, node_index: AtomicNodeIndex(..), type_: Some( BooleanLiteral( ExprBooleanLiteral { node_index: AtomicNodeIndex(..), range: 902..906, value: true, }, ), ), name: None, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 912..916, }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 917..939, node_index: AtomicNodeIndex(..), type_: Some( BinOp( ExprBinOp { node_index: AtomicNodeIndex(..), range: 924..929, left: NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 924..925, value: Int( 1, ), }, ), op: Add, right: NumberLiteral( ExprNumberLiteral { node_index: AtomicNodeIndex(..), range: 928..929, value: Int( 1, ), }, ), }, ), ), name: None, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 935..939, }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 940..962, node_index: AtomicNodeIndex(..), type_: Some( BinOp( ExprBinOp { node_index: AtomicNodeIndex(..), range: 947..952, left: Name( ExprName { node_index: AtomicNodeIndex(..), range: 947..948, id: Name("a"), ctx: Load, }, ), op: BitOr, right: Name( ExprName { node_index: AtomicNodeIndex(..), range: 951..952, id: Name("b"), ctx: Load, }, ), }, ), ), name: None, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 958..962, }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 963..987, node_index: AtomicNodeIndex(..), type_: Some( BoolOp( ExprBoolOp { node_index: AtomicNodeIndex(..), range: 970..977, op: And, values: [ Name( ExprName { node_index: AtomicNodeIndex(..), range: 970..971, id: Name("x"), ctx: Load, }, ), Name( ExprName { node_index: AtomicNodeIndex(..), range: 976..977, id: Name("y"), ctx: Load, }, ), ], }, ), ), name: None, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 983..987, }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 988..1012, node_index: AtomicNodeIndex(..), type_: Some( Await( ExprAwait { node_index: AtomicNodeIndex(..), range: 995..1002, value: Name( ExprName { node_index: AtomicNodeIndex(..), range: 1001..1002, id: Name("x"), ctx: Load, }, ), }, ), ), name: None, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 1008..1012, }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 1013..1041, node_index: AtomicNodeIndex(..), type_: Some( Lambda( ExprLambda { node_index: AtomicNodeIndex(..), range: 1020..1031, parameters: Some( Parameters { range: 1027..1028, node_index: AtomicNodeIndex( 0, ), posonlyargs: [], args: [ ParameterWithDefault { range: 1027..1028, node_index: AtomicNodeIndex(..), parameter: Parameter { range: 1027..1028, node_index: AtomicNodeIndex(..), name: Identifier { id: Name("x"), range: 1027..1028, node_index: AtomicNodeIndex(..), }, annotation: None, }, default: None, }, ], vararg: None, kwonlyargs: [], kwarg: None, }, ), body: Name( ExprName { node_index: AtomicNodeIndex(..), range: 1030..1031, id: Name("x"), ctx: Load, }, ), }, ), ), name: None, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 1037..1041, }, ), ], }, ), ExceptHandler( ExceptHandlerExceptHandler { range: 1042..1075, node_index: AtomicNodeIndex(..), type_: Some( If( ExprIf { node_index: AtomicNodeIndex(..), range: 1049..1065, test: BooleanLiteral( ExprBooleanLiteral { node_index: AtomicNodeIndex(..), range: 1054..1058, value: true, }, ), body: Name( ExprName { node_index: AtomicNodeIndex(..), range: 1049..1050, id: Name("x"), ctx: Load, }, ), orelse: Name( ExprName { node_index: AtomicNodeIndex(..), range: 1064..1065, id: Name("y"), ctx: Load, }, ), }, ), ), name: None, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 1071..1075, }, ), ], }, ), ], orelse: [], finalbody: [], is_star: false, }, ), If( StmtIf { node_index: AtomicNodeIndex(..), range: 1077..1222, test: BooleanLiteral( ExprBooleanLiteral { node_index: AtomicNodeIndex(..), range: 1080..1084, value: true, }, ), body: [ Try( StmtTry { node_index: AtomicNodeIndex(..), range: 1090..1133, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 1103..1107, }, ), ], handlers: [], orelse: [], finalbody: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 1129..1133, }, ), ], is_star: false, }, ), ], elif_else_clauses: [ ElifElseClause { range: 1208..1222, node_index: AtomicNodeIndex(..), test: None, body: [ Pass( StmtPass { node_index: AtomicNodeIndex(..), range: 1218..1222, }, ), ], }, ], }, ), ], }, ) ```