2 // Test multiple catch blocks
5 // Jackson Harper (Jackson@LatitudeGeo.com)
7 // (C) 2003 Jackson Harper, All rights reserved
10 .assembly extern mscorlib { }
11 .assembly extern System { }
12 .assembly 'test-seh-b' { }
17 .field private static int32 exc_not_thrown
18 .field private static int32 catch_1
19 .field private static int32 catch_2
20 .field private static int32 catch_3
22 .method public static specialname void .cctor ()
25 stsfld int32 T::exc_not_thrown
28 stsfld int32 T::catch_1
31 stsfld int32 T::catch_2
34 stsfld int32 T::catch_3
39 .method public static int32 Main ()
44 // Only the second catch block should be executed
53 stsfld int32 T::exc_not_thrown
56 } catch [mscorlib]System.InvalidCastException {
58 stsfld int32 T::catch_1
60 } catch [mscorlib]System.DivideByZeroException {
62 stsfld int32 T::catch_2
64 } catch [mscorlib]System.Exception {
66 stsfld int32 T::catch_3
72 ldsfld int32 T::exc_not_thrown
75 ldsfld int32 T::catch_1
78 ldsfld int32 T::catch_2
81 ldsfld int32 T::catch_3
86 call void [mscorlib]System.Console::WriteLine (string)
92 call void [mscorlib]System.Console::WriteLine (string)