Package org.eclipse.jdt.core.dom
Class TryStatement
java.lang.Object
org.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.Statement
org.eclipse.jdt.core.dom.TryStatement
Try statement AST node type.
TryStatement: try [ ( Resources ) ] Block [ { CatchClause } ] [ finally Block ]
Not all node arrangements will represent legal Java constructs. In particular, at least one resource, catch clause, or finally block must be present.
A resource is either a VariableDeclarationExpression
or (since JLS9) a Name
.
- Since:
- 2.0
- Restriction:
- This class is not intended to be subclassed by clients.
- Restriction:
- This class is not intended to be instantiated by clients.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ChildPropertyDescriptor
The "body" structural property of this node type (child type:Block
).static final ChildListPropertyDescriptor
The "catchClauses" structural property of this node type (element type:CatchClause
).static final ChildPropertyDescriptor
The "finally" structural property of this node type (child type:Block
).static final ChildListPropertyDescriptor
Deprecated.static final ChildListPropertyDescriptor
The "resources" structural property of this node type (element type:Expression
) (added in JLS9 API).Fields inherited from class org.eclipse.jdt.core.dom.ASTNode
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CASE_DEFAULT_EXPRESSION, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EitherOr_MultiPattern, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, GUARDED_PATTERN, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, JAVADOC_REGION, JAVADOC_TEXT_ELEMENT, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, MODULE_QUALIFIED_NAME, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NULL_PATTERN, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, PATTERN_INSTANCEOF_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECORD_PATTERN, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TAG_PROPERTY, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, TYPE_PATTERN, UNION_TYPE, UNNAMED_CLASS, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT
-
Method Summary
Modifier and TypeMethodDescriptionReturns the live ordered list of catch clauses for this try statement.getBody()
Returns the body of this try statement.Returns the finally block of this try statement, ornull
if this try statement has no finally block.static List
propertyDescriptors
(int apiLevel) Returns a list of structural property descriptors for this node type.Returns the live ordered list of resources for this try statement (added in JLS4 API).void
Sets the body of this try statement.void
setFinally
(Block block) Sets or clears the finally block of this try statement.Methods inherited from class org.eclipse.jdt.core.dom.Statement
getLeadingComment, setLeadingComment
Methods inherited from class org.eclipse.jdt.core.dom.ASTNode
accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
-
Field Details
-
RESOURCES_PROPERTY
Deprecated.In the JLS9 API, this property is replaced byRESOURCES2_PROPERTY
.The "resources" structural property of this node type (element type:VariableDeclarationExpression
) (added in JLS4 API).- Since:
- 3.7.1
-
RESOURCES2_PROPERTY
The "resources" structural property of this node type (element type:Expression
) (added in JLS9 API).- Since:
- 3.14
-
BODY_PROPERTY
The "body" structural property of this node type (child type:Block
).- Since:
- 3.0
-
CATCH_CLAUSES_PROPERTY
The "catchClauses" structural property of this node type (element type:CatchClause
).- Since:
- 3.0
-
FINALLY_PROPERTY
The "finally" structural property of this node type (child type:Block
).- Since:
- 3.0
-
-
Method Details
-
propertyDescriptors
Returns a list of structural property descriptors for this node type. Clients must not modify the result.- Parameters:
apiLevel
- the API level; one of theAST.JLS*
constants- Returns:
- a list of property descriptors (element type:
StructuralPropertyDescriptor
) - Since:
- 3.0
-
getBody
Returns the body of this try statement.- Returns:
- the try body
-
setBody
Sets the body of this try statement.- Parameters:
body
- the block node- Throws:
IllegalArgumentException
- if:- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
-
catchClauses
Returns the live ordered list of catch clauses for this try statement.- Returns:
- the live list of catch clauses
(element type:
CatchClause
)
-
getFinally
Returns the finally block of this try statement, ornull
if this try statement has no finally block.- Returns:
- the finally block, or
null
if this try statement has none
-
setFinally
Sets or clears the finally block of this try statement.- Parameters:
block
- the finally block node, ornull
if there is none- Throws:
IllegalArgumentException
- if:- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
-
resources
Returns the live ordered list of resources for this try statement (added in JLS4 API).A resource is either a
VariableDeclarationExpression
or (since JLS9) aName
or aFieldAccess
or aSuperFieldAccess
.- Returns:
- the live list of resources (element type:
Expression
). In the deprecated JLS4 and JLS8 APIs, this used to be (element type:VariableDeclarationExpression
). - Throws:
UnsupportedOperationException
- if this operation is used in a JLS2 or JLS3 AST- Since:
- 3.7.1
-
RESOURCES2_PROPERTY
.