in reply to Re: How to get die() to stop printing a line number?
in thread How to get die() to stop printing a line number?

And in the example you gave, a die after failure of a system call, I would look at the program to solve the problem.

It usually doesn't take long to verify that the program had no way of succeeding in that particular operation. The question then becomes why it thought it might. Which means that I need to figure out what it was doing, and the line number is useful. In fact it is so useful that I prefer to use Carp's confess to get even more context at my finger tips.

You lost me here. My programs don't continue after a die() (assuming it's outside of an eval), so I never have this "why did I think it would succeed" problem to solve.
Apparently I did lose you. :-(

Yes, programs that die don't tend to carry on. But programs don't (or shouldn't) randomly do fatal things for no apparent reason.

Suppose for instance that a program tried to open a file that wasn't there, and then dies. It doesn't take long for me to figure out that the file isn't there, and it should have died. Fine. Now what do I do about it? Perhaps the file just needs to be replaced. Perhaps the programmer didn't realize that said file won't be there at certain times, and there should be an existence check and that step should be skipped. Perhaps the program needs to wait for the file to be replaced before progressing. Perhaps the program should have terminated as it did.

Lots of possibilities, and for a lot of them that line number will prove useful to me.

  • Comment on Re: Re: How to get die() to stop printing a line number?

Replies are listed 'Best First'.
Re: How to get die() to stop printing a line number?
by Abigail-II (Bishop) on Jul 02, 2003 at 19:10 UTC
    I typically consider such possibilities ("is there something useful we can do if the file isn't there?") when designing or writing the program. I cannot recall adding such a feature only after getting feedback, including the die() message. But then again, I might have done such a thing once or twice. I just don't think I would have looked at the die message for the linenumber.

    Abigail

      I like working with code where the original author thought such things through.

      Unfortunately I have not always had that luxury. First of all because there was a point where I was the author and had not learned the value of thinking things through, and secondly because I have had to maintain other people's code.

      And yes, the line number has saved me from major grief upon multiple memorable occasions. YMMV (and apparently does).