On 25 October 2013 00:26, Nicolas Cellier < nicolas.cellier.aka.n...@gmail.com> wrote:
> Hard to debug this kind of code :( > This is reproducible on Squeak wiht on:do:, so on:fork: bizareness apart, > this is another flaw in exception handling, along with wrong handler for > nested exception (testHandlerFromAction below), unless it's an avatar. > > Still, I do not see how you get the errorSubscriptBound:... > In Squeak that would mean that you sent #handleSignal: to a not > isHandlerContext ContextPart... > I never saw this, but if Eliot says so... > > > > ExceptionTests>>testHandlerFromAction > "A test ensuring that nested exceptions work as expected." > > | result | > result := [ > [ > [self error: 'trigger error'] on: ZeroDivide do: [ :ex | > 'inner' ] > ] on: Error do: [ :ex | 3 / 0 ] > ] on: ZeroDivide do: [ :ex | 'outer' ]. > self assert: 'outer' equals: result description: 'Incorrect handler'. > > good find :) https://pharo.fogbugz.com/f/cases/11996/Wrong-exception-handler-problem > > > 2013/10/24 Igor Stasenko <siguc...@gmail.com> > >> >> ok, it seems i found how to reproduce the situation with following: >> >> [ [ 1/0 ] ensure: [ nil foo ] ] on: Error fork: [ :ex | 1halt ] >> >> you will get halt, and if you close the debugger , it will throw unwind >> error. >> (while instead it should throw DNU) >> >> >> -- >> Best regards, >> Igor Stasenko. >> > > -- Best regards, Igor Stasenko.