Intelligibility of multibreak loops

mark at cbosgd.UUCP mark at cbosgd.UUCP
Fri Aug 26 11:09:32 AEST 1983

Among programming languages people, multi level breaks and continues
are generally considered a "good thing".  When coupled with a decent
for loop (such as the one in C) and a return statement, the almost
make goto's completely obsolete.  There are two remaining situations
I run across every blue moon that are left:

(1) Error handling.  There are lots of hairy and ugly schemes to deal
with sudden errors.  Software events, such as PL/1 on-units and Ada
exceptions, are one very complex approach.  Non local goto's ala Pascal
are another.  For my money, the setjmp/longjmp mechanism provided by
the C library (not the language!) is prefectly adequate for this one,
although one would like better diagnostics when you mess up.

(2) Reduction to another case.  This is a familiar concept in Mathematics,
where you handle one case by doing some simplification and then saying
"it reduces to this other case".  The same thing is useful in programming.
Within a switch, you want to say, in effect, "go to the label marking the
code to handle the following switch value".  (Note this is a generalization
of the "goto default" situation mentioned earlier.)

More information about the Comp.lang.c mailing list