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
-
public class TryStatement extends Statement
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) aName
.- 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
Fields Modifier and Type Field Description static ChildPropertyDescriptor
BODY_PROPERTY
The "body" structural property of this node type (child type:Block
).static ChildListPropertyDescriptor
CATCH_CLAUSES_PROPERTY
The "catchClauses" structural property of this node type (element type:CatchClause
).static ChildPropertyDescriptor
FINALLY_PROPERTY
The "finally" structural property of this node type (child type:Block
).static ChildListPropertyDescriptor
RESOURCES_PROPERTY
Deprecated.In the JLS9 API, this property is replaced byRESOURCES2_PROPERTY
.static ChildListPropertyDescriptor
RESOURCES2_PROPERTY
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, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, 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, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, 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, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description List
catchClauses()
Returns the live ordered list of catch clauses for this try statement.Block
getBody()
Returns the body of this try statement.Block
getFinally()
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.List
resources()
Returns the live ordered list of resources for this try statement (added in JLS4 API).void
setBody(Block body)
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 Detail
-
RESOURCES_PROPERTY
public static final ChildListPropertyDescriptor 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
public static final ChildListPropertyDescriptor RESOURCES2_PROPERTY
The "resources" structural property of this node type (element type:Expression
) (added in JLS9 API).- Since:
- 3.14
-
BODY_PROPERTY
public static final ChildPropertyDescriptor BODY_PROPERTY
The "body" structural property of this node type (child type:Block
).- Since:
- 3.0
-
CATCH_CLAUSES_PROPERTY
public static final ChildListPropertyDescriptor CATCH_CLAUSES_PROPERTY
The "catchClauses" structural property of this node type (element type:CatchClause
).- Since:
- 3.0
-
FINALLY_PROPERTY
public static final ChildPropertyDescriptor FINALLY_PROPERTY
The "finally" structural property of this node type (child type:Block
).- Since:
- 3.0
-
-
Method Detail
-
propertyDescriptors
public static List propertyDescriptors(int apiLevel)
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
public Block getBody()
Returns the body of this try statement.- Returns:
- the try body
-
setBody
public void setBody(Block body)
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
public List catchClauses()
Returns the live ordered list of catch clauses for this try statement.- Returns:
- the live list of catch clauses
(element type:
CatchClause
)
-
getFinally
public Block 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
public void setFinally(Block block)
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
public List 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
.- 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
-
-