Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re^3: Die inside Try::Tiny blocks

by chromatic (Archbishop)
on Apr 27, 2013 at 21:50 UTC ( #1031016=note: print w/ replies, xml ) Need Help??

in reply to Re^2: Die inside Try::Tiny blocks
in thread Die inside Try::Tiny blocks

You're probably doing something far more complicated than you ought to if your finally block can throw an exception. I wouldn't do anything more than logging an error or setting a flag to restart a computation.

Comment on Re^3: Die inside Try::Tiny blocks
Download Code
Replies are listed 'Best First'.
Re^4: Die inside Try::Tiny blocks
by dd-b (Monk) on Apr 29, 2013 at 22:10 UTC
    So finally blocks aren't in fact good ways to make sure cleanup gets performed? That's kind of advertised as their main purpose -- but DBIx, for example, reports most errors with exceptions (and I like that style in general).
      So finally blocks aren't in fact good ways to make sure cleanup gets performed?

      They are, but you're talking about nesting code which may throw exceptions in the finally blocks of exception handlers. How are you going to handle those exceptions? Do they have their own finally blocks? This gets complicated pretty fast.

        Yes, complicated code is complicated. :-)

        It's frequently the case that cleanup operations can fail, is the thing, and that ignoring those errors leads to especially confusing bugs.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (3)
As of 2016-02-07 01:40 GMT
Find Nodes?
    Voting Booth?

    How many photographs, souvenirs, artworks, trophies or other decorative objects are displayed in your home?

    Results (241 votes), past polls