Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^3: catching failures and retrying

by RazorbladeBidet (Friar)
on Mar 22, 2005 at 13:51 UTC ( [id://441453]=note: print w/replies, xml ) Need Help??


in reply to Re^2: catching failures and retrying
in thread catching failures and retrying

Error provides you a generic and extensible framework to handle errors, but it won't do exactly what you're looking for.

You basically need a method of retrying, which can be handled as BrowserUk states, or, based upon your code - can be something like:
# CODE NOT TESTED # for display purposes only # void in Utah my $rc = undef; my $i = 0; do { $rc = go_to_web_page(); } while ( !$rc && $i++ < 3 );
or, perhaps, using Error
# CODE NOT TESTED # for display purposes only # void in Utah my $i = 0; GET_PAGE: while ( $i < 3 ) { try { go_to_web_page(); # the above has to throw some kind of error # for this to work last GET_PAGE; } catch Error with { $i++; }; }
I'm sure there's a cleaner way to do that, but it's just an example off the top of my head (proof of concept).
--------------
It's sad that a family can be torn apart by such a such a simple thing as a pack of wild dogs

Replies are listed 'Best First'.
Re^4: catching failures and retrying
by mickey (Acolyte) on Mar 22, 2005 at 14:00 UTC

    Thanks very much. I like your examples -- I think my problem is that I haven't actually encapsulated each step of the program in a neat way. The necessary values for each step and the side effects each step produces are all entwined with each other.

    So I guess I need to do some work on the general structure of the program.

    Thanks for your help!

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2024-04-19 05:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found