"Goto" statement in Python
Grant Edwards
grant.b.edwards at gmail.com
Thu Apr 13 14:24:53 EDT 2017
On 2017-04-13, Rob Gaddi <rgaddi at highlandtechnology.invalid> wrote:
> No, C doesn't support exception handling. As a result, handling error
> conditions in C is a huge pain for which (forward-only) goto is often,
> while not the only remedy, the least painful one.
Indeed. That is almost the only place I use 'goto' in C, and the
almost the only place I see others use it. Very occasionally, you see
a the error handling goto refactored into a backwards "goto retry":
this code
foo()
{
while (1)
{
<some code>
if (<some-error-condition>)
goto error:
<more code>
return;
error:
<recover-from-error-condition>
}
}
becomes
foo()
{
retry:
<some code>
if (<some-error-condition>)
{
<recover-from-error-condition>
goto retry:
}
<more code>
}
I happen to find the latter easier to read.
Fortunately, Python doesn't need goto to deal with things like that.
> Or if you've really developed a need for self-harm, setjmp/longjmp.
I've tried to use setjmp/longjmp for error handling a few times. It
never went well...
--
Grant Edwards grant.b.edwards Yow! Catsup and Mustard all
at over the place! It's the
gmail.com Human Hamburger!
More information about the Python-list
mailing list