On 20/09/2011 15:57, Randal L. Schwartz wrote:
"Rob" == Rob Dixon<rob.di...@gmx.com>  writes:

Rob>  For me, the bottom line is that try / catch is a funky showpiece that
Rob>  pushes Perl syntax beyond its limits. No one who sees your code will
Rob>  thank you for using it, and you should remove it in preference of a
Rob>  simple check on $@.

Completely disagree.  Checking $@ *appears* to be easy, but is prone to
error.  Try::Tiny is best of breed to fix this. I would prefer people
use Try::Tiny instead of trying to handcraft the $@ checking and getting
it wrong.

For example, if you don't know what's wrong with this:

     eval { ... };
     if ($@) { ... }

then you *need* to start using Try::Tiny.

See especially the section beginning "BACKGROUND" on the Try::Tiny
manpage.

I don't have Try::Tiny installed, but will take a look. If you mean that
$@ may be accessed by several pieces of code when a program dies, then I
agree, but my main concern is that try / catch are both simply
prototyped subroutines, and the compile can not tie things down to requiring

  try BLOCK catch BLOCK;

Maybe Try::Tiny works differently but I can't see how it could cover this.

Rob

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to