[Mono-list] exception semantics

Paolo Molaro lupus@ximian.com
Tue, 29 Jan 2002 17:31:37 +0100


On 01/29/02 Morten Sylvest Olsen wrote:
> On Tue, 29 Jan 2002, Jeroen Frijters wrote:
> > This is the correct behaviour, since you explicitly return from the
> > catch block.
> 
> Hmm, can that really be correct?. I wasn't aware of this semantic change

There was a bug in the interp. I fixed it in my tree.

>       .try { // 0
> 	  .try { // 1
> 	    IL_0000: ldstr "In try"
> 	    IL_0005: call void System.Console::WriteLine(string)
> 	    IL_000a: ldc.i4.1
> 	    IL_000b: stloc.1
> 	    IL_000c: leave.s IL_0036
> 		     ^^^^^^^^^^^^^^^^
> Here I leave both the enclosing try-blocks.
> 
> 	  } // end .try 0
> 	    ^^^^^^^^^^^^^
> 
> That looks like a bug in monodis. This must be the end of try-block 1? Or
> else the nesting requirements of I.11.4.2.7 are violated.

It's just and ordering problem in the output, both block 0 and 1 begin
at the same position. Fixed this as well.

lupus

-- 
-----------------------------------------------------------------
lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better