[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