Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Do you use an exception class in your Perl programs? Why or why not?

by creamygoodness (Curate)
on Mar 15, 2010 at 00:03 UTC ( #828620=note: print w/ replies, xml ) Need Help??


in reply to Do you use an exception class in your Perl programs? Why or why not?

I sometimes use exception objects because catching exceptions based on class is less fragile than catching exceptions based on examining the error message.

if ($@) { # Fragile. if ($@ =~ /My error message/) { ... } else { die $@ } # Robust. if (blessed($@) and $@->isa("MyError")) { ... } else { die $@ } }


Comment on Re: Do you use an exception class in your Perl programs? Why or why not?
Download Code
Re^2: Do you use an exception class in your Perl programs? Why or why not?
by TGI (Vicar) on Mar 15, 2010 at 04:59 UTC

    Parsing strings is fragile and error prone.

    Imagine if we had to pass our subroutine arguments and return values as strings.

    Without exception objects, that it the situation with exceptions. It really bothers me that I have to parse a string to identify an exception type. Especially since the raw data that produced the string should be available.

    This is the fundamental reason I've been obsessing about exceptions lately.


    TGI says moo

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://828620]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (12)
As of 2014-08-27 09:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (232 votes), past polls