This is a technique that allows common error handling for a block of code to be managed without resorting to error state variables, labeled statements or gotos.

It's most useful where some common error handling code needs to be executed before continuing with normal execution.

Sample code prints one of:

all the way Do various stuff in the block Skipped the early exit Skipped an error detection Continue here regardless early exit Do various stuff in the block Continue here regardless found error Do various stuff in the block Skipped the early exit Errors handled here Continue here regardless
use warnings; use strict; $_ = ('all the way', 'early exit', 'found error')[rand (3)]; print "$_\n"; {# Block to allow common error handling in continue print "Do various stuff in the block\n"; last if /early exit/; print "Skipped the early exit\n"; next if /found error/; print "Skipped an error detection\n"; last; # Falls through to error handling if omitted } continue { print "Errors handled here\n"; } print "Continue here regardless\n";

In reply to Error handling using a block with continue by GrandFather

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.