he has already been running his data for some time, so he has already validated it. That was why I didn't bother with the "die" or an "else" statement

Sounds like an exit interview! Or an epitaph. Or famous last words.

Giving the benefit of the doubt, maybe you are just saying that the program doesn't need specifically to die() on every exception. True, but die() is just one possible course of action after you check the return values of just about every operation and handle the errors usefully (gracefully being a distant second priority). If your program needs to read a directory or open a file, but it can't because the path doesn't exist, that's generally gonna affect the output. 99 times out of a hundred, if you were expecting to be able to open a file or directory and can't, you'll want an opportunity to stop and figure out what's up. That's why die() is so often used on file-opening operations.

You might also avoid the need to die() if you check for the existence of, or some attribute of, the file before attempting to open it, or in some way avoid the fatal error beforehand. It's fine to trap the error and then continue, but not checking is sloppy, and to the observer, a sign of a programmer who doesn't think things through.

Also not true that a 500 error is not useful over http. You can control what message is output by die(), and your webserver can have a handler to offer more info, or links out of there, or a game (see Chrome) or whatever. In most web applications it's far more problematic that the server pretends everything is OK so the user won't notice a problem, than if the application produces a useful message on error.


The way forward always starts with a minimal test.

In reply to Re^6: pushing file counts for adding by 1nickt
in thread pushing file counts for adding by flieckster

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.