[Seaside-dev] Seaside and exception behaviour

John O'Keefe wembley at instantiations.com
Wed Jan 5 16:23:47 UTC 2011


John O'Keefe [|], Principal Smalltalk Architect, Instantiations Inc.
Skype: john_okeefe2     Mobile:  +1 919 417-3181 (Business hours USA Eastern
Time zone (GMT -5))
john_okeefe at instantiations.com
http://www.instantiations.com
*VA Smalltalk...Onward and Upward!*


On Wed, Jan 5, 2011 at 11:15 AM, Paolo Bonzini <bonzini at gnu.org> wrote:

> On 01/05/2011 04:58 PM, mkobetic at cincom.com wrote:
>
>> > >  Here's maybe a bit more concise example. If you run the thing below
>> in a workspace,
>> > >  it should return 'Squeak' in Squeak and 'VW' in VW
>> > >
>> > >  [  [       [       self error: 'trigger error'
>> > >             ] on: ZeroDivide do: [ :ex | 'Squeak' ]
>> > >     ] on: Error do: [ :ex | 3 / 0 ]
>> > >  ] on: ZeroDivide do: [ :ex | 'VW' ]
>> >
>> >  It returns 'Squeak' on GNU Smalltalk.  This is consistent with my
>> >  analysis of Alan's snippet.  Unfortunately I don't have at hand my copy
>> >  of the standard.
>>
>> FWIW, Smalltalk/X returns 'VW'
>>
>
> That's the correct behavior.  The standard says the search should proceed
> from the last exception handler that was created up to the oldest.
>
> (That said, Squeak/gst's behavior is quite easy to justify, as stack
> unwinding hasn't happened yet.  I'll wait for this thread to settle before
> changing it in gst).
>
> Does VW have #on:do:on:do:?  If so, what happens for
>
>        [       [       self error: 'trigger error'
>
>                ] on: ZeroDivide do: [ :ex | 'Squeak' ]
>        ] on: Error do: [ :ex | 3 / 0 ]
>          on: ZeroDivide do: [ :ex | 'VW' ]
>
> Paolo


VA Smalltalk returns 'VW' (as expected) for the first snippet.  VA Smalltalk
does not implement on:do:on:do:.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside-dev/attachments/20110105/8d39c3e4/attachment.htm


More information about the seaside-dev mailing list