public class TryStmt extends Statement
try { // ... } catch (IOException e) { // ... } finally { // ... }In this code, "// do things" is the content of the tryBlock, there is one catch clause that catches IOException e, and there is a finally block.
The catch and finally blocks are optional, but they should not be empty at the same time.
try (InputStream i = new FileInputStream("file")) { // ... } catch (IOException|NullPointerException e) { // ... } finally { // ... }Java 7 introduced two things:
try (r) { // ... } catch (IOException|NullPointerException e) { // ... } finally { // ... }Java 9 finishes resources: you can now refer to a resource that was declared somewhere else. The following types are allowed:
CatchClause
,
IntersectionType
,
FieldAccessExpr
,
NameExpr
Node.BreadthFirstIterator, Node.DirectChildrenIterator, Node.ObserverRegistrationMode, Node.ParentsVisitor, Node.Parsedness, Node.PostOrderIterator, Node.PreOrderIterator, Node.TreeTraversal
ABSOLUTE_BEGIN_LINE, ABSOLUTE_END_LINE, NODE_BY_BEGIN_POSITION, prettyPrinterNoCommentsConfiguration, SYMBOL_RESOLVER_KEY
Constructor and Description |
---|
TryStmt() |
TryStmt(BlockStmt tryBlock,
NodeList<CatchClause> catchClauses,
BlockStmt finallyBlock) |
TryStmt(NodeList<Expression> resources,
BlockStmt tryBlock,
NodeList<CatchClause> catchClauses,
BlockStmt finallyBlock) |
TryStmt(TokenRange tokenRange,
NodeList<Expression> resources,
BlockStmt tryBlock,
NodeList<CatchClause> catchClauses,
BlockStmt finallyBlock)
This constructor is used by the parser and is considered private.
|
Modifier and Type | Method and Description |
---|---|
<R,A> R |
accept(GenericVisitor<R,A> v,
A arg)
Accept method for visitor support.
|
<A> void |
accept(VoidVisitor<A> v,
A arg)
Accept method for visitor support.
|
TryStmt |
asTryStmt() |
TryStmt |
clone() |
NodeList<CatchClause> |
getCatchClauses() |
Optional<BlockStmt> |
getFinallyBlock() |
TryStmtMetaModel |
getMetaModel() |
NodeList<Expression> |
getResources() |
BlockStmt |
getTryBlock() |
void |
ifTryStmt(Consumer<TryStmt> action) |
boolean |
isTryStmt() |
boolean |
remove(Node node) |
TryStmt |
removeFinallyBlock() |
TryStmt |
removeTryBlock() |
boolean |
replace(Node node,
Node replacementNode) |
TryStmt |
setCatchClauses(NodeList<CatchClause> catchClauses) |
TryStmt |
setFinallyBlock(BlockStmt finallyBlock) |
TryStmt |
setResources(NodeList<Expression> resources) |
TryStmt |
setTryBlock(BlockStmt tryBlock) |
Optional<TryStmt> |
toTryStmt() |
asAssertStmt, asBlockStmt, asBreakStmt, asContinueStmt, asDoStmt, asEmptyStmt, asExplicitConstructorInvocationStmt, asExpressionStmt, asForEachStmt, asForStmt, asIfStmt, asLabeledStmt, asLocalClassDeclarationStmt, asReturnStmt, asSwitchStmt, asSynchronizedStmt, asThrowStmt, asUnparsableStmt, asWhileStmt, asYieldStmt, ifAssertStmt, ifBlockStmt, ifBreakStmt, ifContinueStmt, ifDoStmt, ifEmptyStmt, ifExplicitConstructorInvocationStmt, ifExpressionStmt, ifForEachStmt, ifForStmt, ifIfStmt, ifLabeledStmt, ifLocalClassDeclarationStmt, ifReturnStmt, ifSwitchStmt, ifSynchronizedStmt, ifThrowStmt, ifUnparsableStmt, ifWhileStmt, ifYieldStmt, isAssertStmt, isBlockStmt, isBreakStmt, isContinueStmt, isDoStmt, isEmptyStmt, isExplicitConstructorInvocationStmt, isExpressionStmt, isForEachStmt, isForStmt, isIfStmt, isLabeledStmt, isLocalClassDeclarationStmt, isReturnStmt, isSwitchStmt, isSynchronizedStmt, isThrowStmt, isUnparsableStmt, isWhileStmt, isYieldStmt, toAssertStmt, toBlockStmt, toBreakStmt, toContinueStmt, toDoStmt, toEmptyStmt, toExplicitConstructorInvocationStmt, toExpressionStmt, toForEachStmt, toForStmt, toIfStmt, toLabeledStmt, toLocalClassDeclarationStmt, toReturnStmt, toSwitchStmt, toSynchronizedStmt, toThrowStmt, toUnparsableStmt, toWhileStmt, toYieldStmt
addOrphanComment, containsData, customInitialization, equals, findAll, findAll, findCompilationUnit, findFirst, findFirst, findFirst, findRootNode, getAllContainedComments, getChildNodes, getChildNodesByType, getComment, getData, getDataKeys, getNodesByType, getOrphanComments, getParentNode, getParentNodeForChildren, getParsed, getRange, getSymbolResolver, getTokenRange, getToStringPrettyPrinterConfiguration, hashCode, isAncestorOf, isRegistered, notifyPropertyChange, register, register, registerForSubtree, remove, removeComment, removeData, removeForced, removeOrphanComment, replace, setAsParentNodeOf, setAsParentNodeOf, setBlockComment, setComment, setData, setLineComment, setParentNode, setParsed, setRange, setTokenRange, setToStringPrettyPrinterConfiguration, stream, stream, toString, toString, tryAddImportToParentCompilationUnit, unregister, walk, walk, walk
finalize, getClass, notify, notifyAll, wait, wait, wait
findAncestor, findAncestor, isDescendantOf
containsWithin, containsWithinRange, getBegin, getEnd
public TryStmt()
public TryStmt(BlockStmt tryBlock, NodeList<CatchClause> catchClauses, BlockStmt finallyBlock)
public TryStmt(NodeList<Expression> resources, BlockStmt tryBlock, NodeList<CatchClause> catchClauses, BlockStmt finallyBlock)
public TryStmt(TokenRange tokenRange, NodeList<Expression> resources, BlockStmt tryBlock, NodeList<CatchClause> catchClauses, BlockStmt finallyBlock)
public <R,A> R accept(GenericVisitor<R,A> v, A arg)
Visitable
R
- the type of the return value of the visitorA
- the type the user argument passed to the visitorv
- the visitor implementationarg
- the argument passed to the visitor (of type A)public <A> void accept(VoidVisitor<A> v, A arg)
Visitable
A
- the type the argument passed for the visitorv
- the visitor implementationarg
- any value relevant for the visitor (of type A)public NodeList<CatchClause> getCatchClauses()
public BlockStmt getTryBlock()
public NodeList<Expression> getResources()
public TryStmt setCatchClauses(NodeList<CatchClause> catchClauses)
public TryStmt setResources(NodeList<Expression> resources)
public TryStmt removeFinallyBlock()
public TryStmt removeTryBlock()
public TryStmtMetaModel getMetaModel()
getMetaModel
in class Statement
Copyright © 2007–2019. All rights reserved.