RE: Python or Perl for a Debian maintainance project?
Matthias Urlichs wrote:
> Julian Mehnle wrote:
> > That's true, but there's no reason not to use exceptions in Perl.
> > They're even built-in, although you eccentrically (or shall I say,
> > exceptionally) raise them with `die`, and catch them with `eval {}`
> > -- and yes, that *is* efficient. As syntactic sugar, you may want to
> > use the CPAN module "Error", though.
>
> I thought so once, too. The problem is that this is not a standard Perl
> idiom,
This has already been answered, so I won't go into that any more.
> therefore it's not all that well tested,
What makes you think so?
> and lots of little niggly difficult-to-reproduce bugs (reference
> counting, error reporting, et al.), still lurk in the corners when you
> do any kind of non-local exit.
Aside from the fact that I have never had any problems with "eval { die() }" (nor heard of any), your statements begs for the question: So, if Python's exception handling were having a bug, you would immediately recommend against using it?
> NB, a second problem is that eval{} catches everything. Usually,
> that's not what you want to do.
If you don't want to handle a certain exception, just re-raise it. You may also want to have a look at the "Error" module (i.e. the liberror-perl package). But others already pointed that out, too.
Reply to: