Class TryStmt
A C/C++ ‘try’ statement.
For example, the try
statement in the following code:
try {
f();
} catch(std::exception &e) {
g();
}
Import path
import cpp
Direct supertypes
Indirect supertypes
Known direct subtypes
Predicates
getACatchClause | Gets a ‘catch block’ of this ‘try’ statement. |
getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this element belongs. |
getCatchClause | Gets the |
getNumberOfCatchClauses | Gets the number of ’catch block’s of this ‘try’ statement. |
getStmt | Gets the ‘body’ statement of this ‘try’ statement. |
mayBeGloballyImpure | Holds if it is possible that this statement is globally impure. |
mayBeImpure | Holds if it is possible that this statement is impure. If we are not sure, then it holds. |
toString | Gets a textual representation of this element. |
Inherited predicates
findRootCause | Gets the source of this element: either itself or a macro that expanded to this element. | from Element |
fromLibrary | Holds if this element may be from a library. | from Element |
fromSource | Holds if this element may be from source. | from Element |
getAChild | Gets a child of this statement. | from Stmt |
getAFalseSuccessor | Gets a node such that the control-flow edge | from ControlFlowNode |
getAPredecessor | Gets a direct predecessor of this control-flow node, if any. | from ControlFlowNode |
getASuccessor | Gets a direct successor of this control-flow node, if any. | from ControlFlowNode |
getATrueSuccessor | Gets a node such that the control-flow edge | from ControlFlowNode |
getAnAttribute | Gets an attribute of this statement, for example | from Stmt |
getBasicBlock | Gets the | from ControlFlowNode |
getCanonicalQLClass | DEPRECATED: use | from ElementBase |
getChild | Gets the | from Stmt |
getChildStmt | Gets a child statement of this statement. | from Stmt |
getControlFlowScope | Gets the function containing this control-flow node. | from Stmt |
getEnclosingBlock | Gets the nearest enclosing block of this statement in the source, if any. | from Stmt |
getEnclosingElement | Gets the closest | from Element |
getEnclosingFunction | Gets the enclosing function of this statement, if any. | from Stmt |
getEnclosingStmt | Gets the smallest statement containing this control-flow node. | from Stmt |
getFile | Gets the primary file where this element occurs. | from Element |
getFollowingStmt | Gets the statement following this statement in the same block, if any. | from Stmt |
getGeneratingMacro | Gets a macro invocation that generates this entire statement. | from Stmt |
getKind | Gets an int indicating the type of statement that this represents. | from Stmt |
getLocation | Gets the primary location of this element. | from Stmt |
getParent | Gets the parent of this statement, if any. | from Stmt |
getParentScope | Gets the parent scope of this | from Element |
getParentStmt | Gets the parent statement of this statement, if any. | from Stmt |
hasChild | Holds if | from Stmt |
isAffectedByMacro | Holds if this element is affected in any way by a macro. All elements that are totally or partially generated by a macro are included, so this is a super-set of | from Element |
isCompilerGenerated | Holds if this statement was generated by the compiler. | from Stmt |
isCondition | Holds if this node is the top-level expression of a conditional statement, meaning that | from ControlFlowNode |
isFromTemplateInstantiation | Holds if this | from Element |
isFromUninstantiatedTemplate | Holds if this | from Element |
isInMacroExpansion | Holds if this element comes from a macro expansion. Only elements that are entirely generated by a macro are included - for elements that partially come from a macro, see | from Element |
isPure | Holds if this statement is side-effect free (a conservative approximation; that is, it may be side-effect free even if this predicate doesn’t hold). | from Stmt |