&lt;shrug&gt; It works on all the platforms with little effort so I don&#39;t see a problem with it. But it is kind of &quot;tricky&quot; and as I said when we discussed it yesterday, I don&#39;t really care. Obviously it could be implemented by simply catching Exception and then passing any exception you don&#39;t actually want to handle. Less elegant, but probably easier for people to get their heads around. :)<br>
<br>Julian<br><br><div class="gmail_quote">On Wed, Feb 4, 2009 at 7:35 AM, Lukas Renggli <span dir="ltr">&lt;<a href="mailto:renggli@gmail.com">renggli@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I am actually all in favor of removing that trick. It saves code in<br>
Pharo as well as many extension methods on other platforms.<br>
<br>
It stretches the ANSI standard, that does not talk about implementing<br>
your own exception classes. I don&#39;t think this is worth the trouble.<br>
<br>
Cheers,<br>
Lukas<br>
<div><div></div><div class="Wj3C7c"><br>
On Wed, Feb 4, 2009 at 1:38 AM, James Foster &lt;<a href="mailto:Smalltalk@jgfoster.net">Smalltalk@jgfoster.net</a>&gt; wrote:<br>
&gt; Just to provide some closure on this issue, Seaside-GemStone-Core adds three<br>
&gt; methods to WAExceptionHandler and it seems to work fine.<br>
&gt;<br>
&gt; James<br>
&gt;<br>
&gt; On Jan 6, 2009, at 11:07 AM, Julian Fitzell wrote:<br>
&gt;<br>
&gt;&gt; Oh, cool. Was it difficult to get working?<br>
&gt;&gt;<br>
&gt;&gt; The ANSI standard is confusing and ambiguous in places so it&#39;s not<br>
&gt;&gt; surprising that implementations still vary. The fact that all the<br>
&gt;&gt; implementations seem to require some modifications to make this work<br>
&gt;&gt; shows, if nothing else, that nobody else is implementing their own<br>
&gt;&gt; Exception Selectors, though. :)<br>
&gt;&gt;<br>
&gt;&gt; I just tried a simple test on GemStone and it looks like they will<br>
&gt;&gt; have to implement #try:on:do: at the moment to make it work. Though,<br>
&gt;&gt; from a quick glance, they may be able to tweak things so only the ANSI<br>
&gt;&gt; ExceptionSelector protocol is necessary.<br>
&gt;&gt;<br>
&gt;&gt; Julian<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Jan 6, 2009 at 7:02 PM, John O&#39;Keefe<br>
&gt;&gt; &lt;<a href="mailto:wembley.instantiations@gmail.com">wembley.instantiations@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Julian -<br>
&gt;&gt;&gt; OK, it now works on VA Smalltalk -- at least the SUnit tests think so :-)<br>
&gt;&gt;&gt; You are right that many of us implementors of ANSI don&#39;t always get it<br>
&gt;&gt;&gt; correct. &nbsp;Clearly the standard separates the idea of an<br>
&gt;&gt;&gt; &lt;exceptionSelector&gt;<br>
&gt;&gt;&gt; from the various other exception protocols.<br>
&gt;&gt;&gt; John O&#39;Keefe [|], Principal Smalltalk Architect, Instantiations Inc.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Thu, Jan 1, 2009 at 9:33 AM, Julian Fitzell &lt;<a href="mailto:jfitzell@gmail.com">jfitzell@gmail.com</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Hi John,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Darn... I was following the ANSI standard... ;) it says that an<br>
&gt;&gt;&gt;&gt; exception selector needs to implement #handles: and #, which we do on<br>
&gt;&gt;&gt;&gt; both the class and instance side. On most systems this would include<br>
&gt;&gt;&gt;&gt; the Exception class and instances of ExceptionSet. How does VA<br>
&gt;&gt;&gt;&gt; implement ExceptionSet if #on:do: is so restrictive?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Lukas took a quick look at his VA image and says it looks like<br>
&gt;&gt;&gt;&gt; WAExceptionHandler might just need an implementation of #handles:do:<br>
&gt;&gt;&gt;&gt; added in the VA port but I don&#39;t have a Windows install handy to look<br>
&gt;&gt;&gt;&gt; myself. I added some tests in Seaside-Tests-Core-jf.32 that should<br>
&gt;&gt;&gt;&gt; help verify directly if it&#39;s working or not, though.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Do you think it&#39;s a solvable problem on VA? I just looked at VW and it<br>
&gt;&gt;&gt;&gt; looks like they would need to implement #isExceptionHandler in their<br>
&gt;&gt;&gt;&gt; compatibility package.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Dale, I haven&#39;t got Gemstone installed on this new laptop yet either.<br>
&gt;&gt;&gt;&gt; Do you foresee problems getting this to work on your end?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Obviously if this is going to be a huge compatibility problem we<br>
&gt;&gt;&gt;&gt; should rethink but I think the implementation is cleaner this way<br>
&gt;&gt;&gt;&gt; otherwise.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Julian<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Wed, Dec 31, 2008 at 8:28 PM, John O&#39;Keefe<br>
&gt;&gt;&gt;&gt; &lt;<a href="mailto:wembley.instantiations@gmail.com">wembley.instantiations@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Julian -<br>
&gt;&gt;&gt;&gt;&gt; I&#39;m back to work after a week and got a bad surprise.<br>
&gt;&gt;&gt;&gt;&gt; Seaside-Core-jf.349 and the associated changes to other packages has<br>
&gt;&gt;&gt;&gt;&gt; completely broken the VA Smalltalk port. &nbsp;Our implementation of<br>
&gt;&gt;&gt;&gt;&gt; Block&gt;&gt;#on:do: expects a class as its first argument (and in<br>
&gt;&gt;&gt;&gt;&gt; particular,<br>
&gt;&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt; class must be Exception or a subclass of Exception). &nbsp;The same seems to<br>
&gt;&gt;&gt;&gt;&gt; be<br>
&gt;&gt;&gt;&gt;&gt; true of VW.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; But with Seaside-Core-jf.349 #on:do: is getting a WAExceptionHandler<br>
&gt;&gt;&gt;&gt;&gt; class<br>
&gt;&gt;&gt;&gt;&gt; (or subclass of it) as the first argument &lt;exception selector&gt; and then<br>
&gt;&gt;&gt;&gt;&gt; with<br>
&gt;&gt;&gt;&gt;&gt; Seaside-Core-jf.353 #on:do: is getting an instance of<br>
&gt;&gt;&gt;&gt;&gt; WAExceptionHandler<br>
&gt;&gt;&gt;&gt;&gt; (or<br>
&gt;&gt;&gt;&gt;&gt; a subclass of it) as the first argument. &nbsp;In either case, we fall over<br>
&gt;&gt;&gt;&gt;&gt; because the WAExceptionHandler class/instance does not understand any<br>
&gt;&gt;&gt;&gt;&gt; of<br>
&gt;&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt; messages sent by #on:do: to the &lt;exception selector&gt;.<br>
&gt;&gt;&gt;&gt;&gt; Since WAExceptionHandler is in the base, I assume it should be<br>
&gt;&gt;&gt;&gt;&gt; portable.<br>
&gt;&gt;&gt;&gt;&gt; I have reverted to Seaside-Core-lr.348 and Seaside-Development-lr.53<br>
&gt;&gt;&gt;&gt;&gt; for<br>
&gt;&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt; time being and things seem to be working OK again.<br>
&gt;&gt;&gt;&gt;&gt; John O&#39;Keefe [|], Principal Smalltalk Architect, Instantiations Inc.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; seaside-dev mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:seaside-dev@lists.squeakfoundation.org">seaside-dev@lists.squeakfoundation.org</a><br>
&gt;&gt;&gt;&gt; <a href="http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; seaside-dev mailing list<br>
&gt;&gt;&gt; <a href="mailto:seaside-dev@lists.squeakfoundation.org">seaside-dev@lists.squeakfoundation.org</a><br>
&gt;&gt;&gt; <a href="http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; seaside-dev mailing list<br>
&gt;&gt; <a href="mailto:seaside-dev@lists.squeakfoundation.org">seaside-dev@lists.squeakfoundation.org</a><br>
&gt;&gt; <a href="http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev</a><br>
&gt;&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; seaside-dev mailing list<br>
&gt; <a href="mailto:seaside-dev@lists.squeakfoundation.org">seaside-dev@lists.squeakfoundation.org</a><br>
&gt; <a href="http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev</a><br>
&gt;<br>
<br>
<br>
<br>
</div></div><font color="#888888">--<br>
Lukas Renggli<br>
<a href="http://www.lukas-renggli.ch" target="_blank">http://www.lukas-renggli.ch</a><br>
</font><div><div></div><div class="Wj3C7c">_______________________________________________<br>
seaside-dev mailing list<br>
<a href="mailto:seaside-dev@lists.squeakfoundation.org">seaside-dev@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev</a><br>
</div></div></blockquote></div><br>