ILGenerator.BeginFinallyBlock Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Begins a finally block in the Microsoft intermediate language (MSIL) instruction stream.
Assembly: mscorlib (in mscorlib.dll)
| Exception | Condition |
|---|---|
| NotSupportedException | The MSIL that is being generated is not currently in an exception block. |
The following example illustrates the use of BeginFinallyBlock to define a finally block within an exception block. This code is part of a larger example provided for the BeginExceptionBlock method.
adderIL.BeginFinallyBlock() ' The finally block block displays a message on the TextBlock, if the ' OutputBlock field has been set. Just as in the catch block, the following ' code tests whether the TextBlock is present, and skips the output if it is ' not present. adderIL.Emit(OpCodes.Ldsfld, demoOutput) adderIL.Emit(OpCodes.Ldnull) adderIL.Emit(OpCodes.Ceq) adderIL.Emit(OpCodes.Brtrue_S, skipOutputInFinally) ' Append a constant string to the Text property of the TextBlock. adderIL.Emit(OpCodes.Ldsfld, demoOutput) adderIL.Emit(OpCodes.Ldsfld, demoOutput) adderIL.Emit(OpCodes.Callvirt, getter) adderIL.Emit(OpCodes.Ldstr, "Executing the finally block." & vbLf) adderIL.Emit(OpCodes.Call, concat2) adderIL.Emit(OpCodes.Callvirt, setter) adderIL.MarkLabel(skipOutputInFinally) ' This is the end of the try/catch/finally block. adderIL.EndExceptionBlock()