Eclipse JDT
Release 3.8

org.eclipse.jdt.core.dom
Class TryStatement

java.lang.Object
  extended by org.eclipse.jdt.core.dom.ASTNode
      extended by org.eclipse.jdt.core.dom.Statement
          extended by org.eclipse.jdt.core.dom.TryStatement

public class TryStatement
extends Statement

Try statement AST node type. For JLS2 and JLS3:

 TryStatement:
     try Block
         [ { CatchClause } ]
         [ finally Block ]
 
For JLS4, resources were added:
 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.

Since:
2.0
Restriction:
This class is not intended to be instantiated by clients.

Field Summary
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
          The "resources" structural property of this node type (element type: VariableDeclarationExpression) (added in JLS4 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, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVADOC, LABELED_STATEMENT, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_PARAMETER, UNION_TYPE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
 
Method Summary
 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, or null 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.
 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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

RESOURCES_PROPERTY

public static final ChildListPropertyDescriptor RESOURCES_PROPERTY
The "resources" structural property of this node type (element type: VariableDeclarationExpression) (added in JLS4 API).

Since:
3.7.1

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 the AST.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, or null 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, or null 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.

Returns:
the live list of resources (element type: VariableDeclarationExpression)
Throws:
UnsupportedOperationException - if this operation is used in a JLS2 or JLS3 AST
Since:
3.7.1

Eclipse JDT
Release 3.8

Guidelines for using Eclipse APIs.

Copyright (c) 2000, 2013 IBM Corporation and others. All rights reserved.