[Seaside-dev] exception handler instance creation

Julian Fitzell jfitzell at gmail.com
Tue Jan 6 19:07:50 UTC 2009


Oh, cool. Was it difficult to get working?

The ANSI standard is confusing and ambiguous in places so it's not
surprising that implementations still vary. The fact that all the
implementations seem to require some modifications to make this work
shows, if nothing else, that nobody else is implementing their own
Exception Selectors, though. :)

I just tried a simple test on GemStone and it looks like they will
have to implement #try:on:do: at the moment to make it work. Though,
from a quick glance, they may be able to tweak things so only the ANSI
ExceptionSelector protocol is necessary.

Julian

On Tue, Jan 6, 2009 at 7:02 PM, John O'Keefe
<wembley.instantiations at gmail.com> wrote:
> Julian -
> OK, it now works on VA Smalltalk -- at least the SUnit tests think so :-)
> You are right that many of us implementors of ANSI don't always get it
> correct.  Clearly the standard separates the idea of an <exceptionSelector>
> from the various other exception protocols.
> John O'Keefe [|], Principal Smalltalk Architect, Instantiations Inc.
>
>
> On Thu, Jan 1, 2009 at 9:33 AM, Julian Fitzell <jfitzell at gmail.com> wrote:
>>
>> Hi John,
>>
>> Darn... I was following the ANSI standard... ;) it says that an
>> exception selector needs to implement #handles: and #, which we do on
>> both the class and instance side. On most systems this would include
>> the Exception class and instances of ExceptionSet. How does VA
>> implement ExceptionSet if #on:do: is so restrictive?
>>
>> Lukas took a quick look at his VA image and says it looks like
>> WAExceptionHandler might just need an implementation of #handles:do:
>> added in the VA port but I don't have a Windows install handy to look
>> myself. I added some tests in Seaside-Tests-Core-jf.32 that should
>> help verify directly if it's working or not, though.
>>
>> Do you think it's a solvable problem on VA? I just looked at VW and it
>> looks like they would need to implement #isExceptionHandler in their
>> compatibility package.
>>
>> Dale, I haven't got Gemstone installed on this new laptop yet either.
>> Do you foresee problems getting this to work on your end?
>>
>> Obviously if this is going to be a huge compatibility problem we
>> should rethink but I think the implementation is cleaner this way
>> otherwise.
>>
>> Julian
>>
>> On Wed, Dec 31, 2008 at 8:28 PM, John O'Keefe
>> <wembley.instantiations at gmail.com> wrote:
>> > Julian -
>> > I'm back to work after a week and got a bad surprise.
>> > Seaside-Core-jf.349 and the associated changes to other packages has
>> > completely broken the VA Smalltalk port.  Our implementation of
>> > Block>>#on:do: expects a class as its first argument (and in particular,
>> > the
>> > class must be Exception or a subclass of Exception).  The same seems to
>> > be
>> > true of VW.
>> >
>> > But with Seaside-Core-jf.349 #on:do: is getting a WAExceptionHandler
>> > class
>> > (or subclass of it) as the first argument <exception selector> and then
>> > with
>> > Seaside-Core-jf.353 #on:do: is getting an instance of WAExceptionHandler
>> > (or
>> > a subclass of it) as the first argument.  In either case, we fall over
>> > because the WAExceptionHandler class/instance does not understand any of
>> > the
>> > messages sent by #on:do: to the <exception selector>.
>> > Since WAExceptionHandler is in the base, I assume it should be portable.
>> > I have reverted to Seaside-Core-lr.348 and Seaside-Development-lr.53 for
>> > the
>> > time being and things seem to be working OK again.
>> > John O'Keefe [|], Principal Smalltalk Architect, Instantiations Inc.
>> _______________________________________________
>> seaside-dev mailing list
>> seaside-dev at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
>
>
> _______________________________________________
> seaside-dev mailing list
> seaside-dev at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
>
>


More information about the seaside-dev mailing list