[Pharo-dev] Catching Exceptions without any notice

Igor Stasenko siguctua at gmail.com
Fri Apr 1 16:47:33 EDT 2016

On 1 April 2016 at 21:52, stepharo <stepharo at free.fr> wrote:

> Hi
> I do not think that aliaksei is not taking care.
> He is working a lot to make sure that Pharo will have a future from the UI
> perspective. He is spending all his free time
> on Bloc and what he is doing is massive. He rewrote the AthensCairoBack
> end to optimise it for Bloc local coordinates.
> I'm sure that if someone would have propose some help to him he would have
> gladly accepted.
> I personnaly thank him for all the energy that he is putting into Bloc.
> The talk at PharoDays was showing really nice results.
> Bloc is really getting to be really nice and change the face of Pharo for
> the next decades so we should encourage people doing
> Bloc!
> So instead of bashing someone, I would prefer that we help him.
> Yes Pharo has some code that we do not like and I have my own list. Now
> the best things to do is to
> improve code review and to fix when we see something wrong.
Hi, Stef. No, it is not about whether you care about things you do or not.
It is about approach. If you done something, that good indication that you
care about it, isn't? But there's many ways how you doing something.
I am sorry, i won't stop bashing approaches like this piece of code
demonstrating. It was not a first time you seen my reaction on such piece
of code (we seen that before, exactly related to "on:do: nothing" before),
and i don't think you shall be surprised that my reaction is unchanged :)

My take on this: on-do-nothing pattern is good only for one thing: for bug
hunting and putting temporary kludges in code in order to find the root of
problem. Once problem is solved, you shall remove this.. as well as any
'Transcript show:' , 'Halt once' and stuff like that.
On-do-nothing really don't belongs to category of any production code that
pretends to be a good quality one.

> Le 1/4/16 05:54, Igor Stasenko a écrit :
> A perfect example of careless programming.
> "I'll do it my way, and if it causing any problems, i don't care and i
> will just ignore them. And it's not my problem anyways, i went to something
> else already, since this part is works and DONE"
> :)
> On 30 March 2016 at 14:33, Nicolai Hess <nicolaihess at gmail.com> wrote:
>> Please don't do this:
>> updateHeight
>>     "no need to care about height, when it's logic is not customized"
>>     self layout isHeightCustom ifFalse: [ ^ self ].
>>     [ self bounds: (self brickBounds withHeight: self customHeight) ]
>>         on: Exception
>>         do: [ "just skip and do nothing" ]
>> This makes debugging GLM/Brick ui/layout code with "self haltOnce"
>> impossible.
>> see
>> GLMBrickGeometryTrait>>#updateHeight
>> GLMBrickGeometryTrait>>#updateWidth
>> And if you log out the raised exception, you see some calls to
>> not initialized fonts and a ZeroDevide and some more errors.
>> The above catch, catches and hides wrong / to late initialized objects.
> --
> Best regards,
> Igor Stasenko.

Best regards,
Igor Stasenko.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20160401/1733789f/attachment.html>

More information about the Pharo-dev mailing list