<div dir="ltr">I do not agree with your point of view.<br><div>The on:do: message allows you to have contextual handlers, the default handler is a kind of global one that knows nothing about the dynamic context and how to handle  the particular problem the excepcion was signaled for.</div><div>Most of default handlers in Smalltalk are coupled with the UI and make incorrect assumptions of applicability. Look at the defaultAction of UndeclaredVariable or UndefinedVariable, etc. They assume you are in a browser, but what happens if you are filing in code?</div><div><br></div><div>Hernan.</div><div> </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Apr 14, 2024 at 10:52 PM Andres Valloud via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Speaking of this, observe the multitude of occurrences of<br>
<br>
        on: Error do: [...]<br>
<br>
in the currently shipping code, and even in tests.  This is almost <br>
certainly bad because said exceptions could have had a default handler <br>
to take care of the error in question.  By doing on: Error do: [...], <br>
the code says "if any error at all occurs, then I know better than the <br>
default handler of said error".  Handling errors by hand negates the <br>
point of having default handlers and misses the point.  In the vast <br>
majority of cases, that should be<br>
<br>
        on: UnhandledException do: [...]<br>
<br>
instead.  But that is what SUnit is (ought to be) doing for you, so you <br>
do not have to type it yourself.<br>
<br>
On 4/3/24 3:51 PM, Andres Valloud via Cuis-dev wrote:<br>
> If we go by "agreement" of others, well that's the logical fallacy of <br>
> appeal to authority or majority.  Most already think we shouldn't be <br>
> using Smalltalk, too.  There's a lot more to it than that.<br>
> <br>
> The real problems of the world are more related to nobody having the <br>
> time to properly review code because there's too much of it, and the <br>
> fact that nobody needs a professional license to write software.  More <br>
> boilerplate is not going to help, and that has consequences.  For <br>
> example, this<br>
> <br>
> <a href="https://www.theregister.com/2024/04/01/xz_backdoor_open_source/" rel="noreferrer" target="_blank">https://www.theregister.com/2024/04/01/xz_backdoor_open_source/</a><br>
> <br>
> happened by packaging malicious code in tests.<br>
> <br>
> Why can't we agree that our testing framework declares that unhandled <br>
> exceptions are always bad, because they are?  Why should anyone have to <br>
> write code to say that again?<br>
> <br>
> On 4/3/24 10:34 AM, Hernán Wilkinson wrote:<br>
>> That is a good point, but there is an "agreement" around the automatic <br>
>> testing people on making explicit that you are not expecting an <br>
>> exception, differentiate that test from the ones that do not have <br>
>> assertions by mistake.<br>
>> I do believe it is better to do it that way, it makes explicit what <br>
>> you are expecting and if the framework testing changes (like in this <br>
>> case is suggested), the test will continue working.<br>
>> I think that explicit is better than implicit in many areas, <br>
>> programming languages is one of them; python has that as a rule for <br>
>> example.<br>
>> I think making explicit that you are not expecting an exception to be <br>
>> signaled is better than not doing it.<br>
>><br>
>> Hernan.<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> On Wed, Apr 3, 2024 at 2:22 PM Andres Valloud via Cuis-dev <br>
>> <<a href="mailto:cuis-dev@lists.cuis.st" target="_blank">cuis-dev@lists.cuis.st</a> <mailto:<a href="mailto:cuis-dev@lists.cuis.st" target="_blank">cuis-dev@lists.cuis.st</a>>> wrote:<br>
>><br>
>>     No, you can write code in a test method with the expectation that it<br>
>>     will not raise unhandled exceptions, and you do not need <br>
>> assertions for<br>
>>     that.  Specifically, you do not need to write the silly<br>
>><br>
>>              shouldnt: [...] raise: UnhandledException<br>
>><br>
>>     because that's what SUnit is there for.  You do not know a priori <br>
>> what<br>
>>     the code writer is doing, so the tool should not guess.<br>
>><br>
>>     On 4/3/24 7:42 AM, Juan Vuletich via Cuis-dev wrote:<br>
>>      > a test without assertions is not a test.<br>
>>     --     Cuis-dev mailing list<br>
>>     <a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a> <mailto:<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a>><br>
>>     <a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
>>     <<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a>><br>
>><br>
>><br>
>><br>
>> -- <br>
>> *Hernán Wilkinson<br>
>> Agile Software Development, Teaching & Coaching*<br>
>> *Phone: +54-011*-4893-2057<br>
>> *Twitter: @HernanWilkinson*<br>
>> *site: <a href="http://www.10Pines.com" rel="noreferrer" target="_blank">http://www.10Pines.com</a> <<a href="http://www.10pines.com/" rel="noreferrer" target="_blank">http://www.10pines.com/</a>>*<br>
>> Address: Alem 896, Floor 6, Buenos Aires, Argentina<br>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="font-size:small"><div dir="ltr"><div dir="ltr"><div style="font-size:12.8px"><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong><span style="font-size:8pt"><span style="font-size:small"><font size="2"><span style="font-weight:normal"><span style="font-weight:bold">Hernán Wilkinson</span><br>Agile Software Development, Teaching & Coaching</span></font></span></span></strong></span></div><div style="font-size:12.8px"><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong><span style="font-size:8pt"><span style="font-size:small"><font size="2"><span style="font-weight:normal">Phone: +54-011</span></font></span></span></strong></span><font face="tahoma, sans-serif" size="2">-4893-2057</font></div><div style="font-size:12.8px"><strong style="font-family:tahoma,sans-serif;font-size:xx-small"><span style="font-size:8pt"><span style="font-size:small"><font size="2"><span style="font-weight:normal">Twitter: @HernanWilkinson</span></font></span></span></strong></div><div style="font-size:12.8px"><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong><span style="font-size:8pt"><span style="font-size:small"><font size="2"><span style="font-weight:normal">site: <a href="http://www.10pines.com/" style="color:rgb(17,65,112)" target="_blank">http://www.10Pines.com</a></span></font></span></span></strong></span></div><div style="font-size:12.8px"><font face="tahoma, sans-serif"><span style="border-collapse:collapse">Address: Alem 896</span></font>, Floor 6, Buenos Aires, Argentina</div></div></div></div></div></div></div></div>