http://qs321.pair.com?node_id=68684


in reply to Re (tilly) 3: out of loop
in thread out of loop

This was an illustrative snippet, to show how die could used to exit a loop. As such, I simplified a number of things, like no shebang, no use strict, not all the variables are initialized, and yes, limited error handling.

Had this been a real program, it would have used my home grown alarm object, which checks $!, $?, and $@, builds a meaningful error string, logs it to a file with a timestamp, sends email, and dies as necessary. This same object I proselytize within my company, much the same way you are doing now.

Had I included all that extraneous detail in my post, I fear the point would have been lost. And given it was essentially a "by the way" post, it would have required more effort than warranted to make it as explicit as you might like.

So while I understand the reasons for your strongly stated response, I believe it misplaced.

Replies are listed 'Best First'.
Re (tilly) 5: out of loop
by tilly (Archbishop) on Mar 31, 2001 at 22:58 UTC
    Couldn't you have just included an example snippet of what it would have looked like and then just included a note that the object you called here is a home-built error-reporting mechanism?

    I find that people learn style from what are meant as off-hand snippets, and so I think it is important that everything from pseudo-code on up always at least acknowledge the importance of testing for and dealing with errors. I would prefer that people think, Geez, that tilly is anal about error checking! than accidentally encourage (if only by omission) people to neglect it...

      I probably could have, but I don't think it would have added value. When I write example code, I add detail where it is relevant to the thread, and remove it where it is not. How many times do you see a simple open FILE, "file" or die; in an snippet? To me, it is clear that is just a placeholder, showing, but not elaborating upon, the error handling one would normally expect.

      In fact, my code started out with open FILE, $_ or die; and warn "Error!" if $@;. Perhaps I should have left it that way, making it clear the error handling was in fact a simplification, and not representative of what belongs in a real program.
        How many times have I seen production code with open FILE, "file" or die;? Far too often to give the benefit of the doubt to anyone who writes that in a snippet!

        It doesn't take very many painful midnights debugging what should be straightforward problems to develop that attitude...(The mistakes were made before I arrived there.)