Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
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 romping around the Monastery: (11)
As of 2014-09-16 15:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (33 votes), past polls