CodeQL library for C#
codeql/csharp-all 2.0.1-dev (changelog, source)
Search

Class FinallySplitting::FinallySplit

A split for elements belonging to a finally block, which determines how to continue execution after leaving the finally block. For example, in

try
{
    if (!M())
        throw new Exception();
}
finally
{
    Log.Write("M failed");
}

all control flow nodes in the finally block have two splits: one representing normal execution of the try block (when M() returns true), and one representing exceptional execution of the try block (when M() returns false).

Import path

import semmle.code.csharp.controlflow.internal.Splitting

Direct supertypes

Indirect supertypes

Predicates

getNestLevel

Gets the finally nesting level.

getType

Gets the type of this finally split, that is, how to continue execution after the finally block.

toString

Gets a textual representation of this split.

Charpred