[Seaside-dev] exception handler instance creation

James Foster Smalltalk at JGFoster.net
Wed Feb 4 00:38:16 UTC 2009


Just to provide some closure on this issue, Seaside-GemStone-Core adds  
three methods to WAExceptionHandler and it seems to work fine.

James

On Jan 6, 2009, at 11:07 AM, Julian Fitzell wrote:

> 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
>>
>>
> _______________________________________________
> 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