[Seaside-dev] exception handler instance creation

Lukas Renggli renggli at gmail.com
Wed Feb 4 06:35:32 UTC 2009


I am actually all in favor of removing that trick. It saves code in
Pharo as well as many extension methods on other platforms.

It stretches the ANSI standard, that does not talk about implementing
your own exception classes. I don't think this is worth the trouble.

Cheers,
Lukas

On Wed, Feb 4, 2009 at 1:38 AM, James Foster <Smalltalk at jgfoster.net> wrote:
> 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
>>
>
> _______________________________________________
> seaside-dev mailing list
> seaside-dev at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
>



-- 
Lukas Renggli
http://www.lukas-renggli.ch


More information about the seaside-dev mailing list