Your term - "failure cases" - is ambiguous. What you probably want to do is catch signals. See perldoc -q signals:

How do I trap control characters/signals? You don't actually "trap" a control character. Instead, that c +haracter generates a signal which is sent to your terminal's currentl +y foregrounded process group, which you then trap in your process. Signals are documented in + "Signals" in perlipc and the section on "Signals" in the Camel. You can set the values of the %SIG hash to be the functions you + want to handle the signal. After perl catches the signal, it looks +in %SIG for a key with the same name as the signal, then calls the subroutine value for th +at key. # as an anonymous subroutine $SIG{INT} = sub { syswrite(STDERR, "ouch\n", 5 ) }; # or a reference to a function $SIG{INT} = \&ouch; # or the name of the function as a string $SIG{INT} = "ouch"; Perl versions before 5.8 had in its C source code signal handle +rs which would catch the signal and possibly run a Perl function that + you had set in %SIG. This violated the rules of signal handling at that level causing per +l to dump core. Since version 5.8.0, perl looks at %SIG *after* the s +ignal has been caught, rather than while it is being caught. Previous versions of this answe +r were incorrect.

In reply to Re: Catching WINDOW close event and take actions by onelesd
in thread Catching WINDOW close event and take actions by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.