go ahead... be a heretic | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
In Java and C++, exceptions are typically instances of some class, and are "thrown" by bad code and caught in surrounding "try/catch" syntax.
While some people have built these elaborate synonymous structures using Perl packages, I have found very little advantage in them over using Perl's built-in exception mechanism. In Perl, exceptions are a scalar value, stored in the special variable $@. These exceptions are "thrown" by bad code using the keyword die and caught in surrounding code by eval { } syntax. The advantages of classes appears to be when there are so many possible causes of failure that you need to send back uber-complex reporting structures to attempt to explain it. If you don't need all this complexity (and you should always avoid undue complexity), just use die/eval. Write Perl in Perl idioms using Perl's mechanisms. Otherwise you're just coding in Java or C++, but sprinkled with funny sigils. -- In reply to Re: Exception Classes Advice on Subclasses
by halley
|
|