'goto" gone from computer languages or is it!
Sean 'Captain Napalm' Conner
spc at conman.org
Mon May 16 12:28:27 CDT 2005
It was thus said that the Great willisjo at zianet.com once stated:
>
> When I took C programming in high school, our teacher taught us how to use
> goto, but if he saw it in our code, we had 30 seconds to justify it to his
> satisfaction before he'd throw the eraser at us. He was a good shot, too ;)
I've been programming in C since 1990, and in that time, I've only used
GOTOs under three conditions (as far as I can remember):
1. A function with a lot of cleanup required if it fails, so I use a
GOTO to clean up before returning an error; this is rare for me
though.
2. State machines. It keeps me sane. This is my biggest use of
GOTOs. My HTML parser has 22 GOTOs (22 states) and without the use
of GOTOs, the code would probably be more of a mess than it already
is.
3. *VERY* rarely, as a mechanism for exceptions, and then, I use
setjmp()/longjmp() (which are non-local GOTOs in C). I think I
played around with this a few times, but gave up on it (I don't
particularly care for the semantics of setjmp() and it has some
rather nasty restrictions on the return value).
-spc (I do tend though, to use multiple returns in a function ... )
More information about the cctalk
mailing list