fall through

fall through v.  (n. `fallthrough', var.
   `fall-through') 1. To exit a loop by exhaustion, i.e., by having
   fulfilled its exit condition rather than via a break or exception
   condition that exits from the middle of it.  This usage appears to
   be *really* old, dating from the 1940s and 1950s.  2. To fail
   a test that would have passed control to a subroutine or some other
   distant portion of code.  3. In C, `fall-through' occurs when the
   flow of execution in a switch statement reaches a `case' label
   other than by jumping there from the switch header, passing a point
   where one would normally expect to find a `break'.  A trivial
   example:

     switch (color)
     {
     case GREEN:
        do_green();
        break;
     case PINK:
        do_pink();
        /* FALL THROUGH */
     case RED:
        do_red();
        break;
     default:
        do_blue();
        break;
     }

   The variant spelling `/* FALL THRU */' is also common.

   The effect of the above code is to `do_green()' when color is
   `GREEN', `do_red()' when color is `RED',
   `do_blue()' on any other color other than `PINK', and
   (and this is the important part) `do_pink()' *and then*
   `do_red()' when color is `PINK'.  Fall-through is
   {considered harmful} by some, though there are contexts (such as
   the coding of state machines) in which it is natural; it is
   generally considered good practice to include a comment
   highlighting the fall-through where one would normally expect a
   break.  See also {Duff's device}.



HTML Conversion by AG2HTML.pl V2.94618 & witbrock@cs.cmu.edu