.assembly 'try' { } .assembly extern 'mscorlib' { .ver 1:0:5000:0 .publickeytoken = ( b7 7a 5c 56 19 34 e0 89 ) } .class public 'Test' extends [mscorlib]System.Object { .field static private int32 'x' .method hidebysig public static int32 'Main'() { .entrypoint .locals init ([0]int32 't0') .try { ldsfld int32 'Test'::'x' ldc.i4 2 ble $4 ldc.i4 0 stloc 0 // t0 leave $1 br $5 $4: ldsfld int32 'Test'::'x' ldc.i4 0 bge $6 ldc.i4 1 stloc 0 // t0 leave $1 $6: $7: $5: leave $3 } finally { ldstr "not so fast" call void [mscorlib]System.Console::'WriteLine'(string) endfinally } // end .try $3: $2: ldc.i4 5 stloc 0 // t0 br $1 $1: ldloc 0 // t0 ret .maxstack 2 } // end of method Test.Main .method hidebysig specialname rtspecialname public void .ctor() { ldarg.0 call instance void [mscorlib]System.Object::.ctor() ret .maxstack 1 } // end of constructor Test.Test .method hidebysig specialname rtspecialname static private void .cctor() { ldc.i4 3 stsfld int32 'Test'::'x' ret .maxstack 1 } // end of constructor Test.Test } // end of class Test