Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

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.

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]
[marinersk]: I am helmet.
Mr. Muskrat gets a cup of coffee to wash down the cookies.
vrk is out of cookies

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (15)
As of 2017-04-27 20:57 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (514 votes). Check out past polls.