goto is the standard way of performing error handling in C, since there is no exception system or destructor mechanism to free resources when they are going out of scope.
this post was submitted on 07 Oct 2025
31 points (94.3% liked)
Linux
9670 readers
496 users here now
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP
founded 2 years ago
MODERATORS
People who think gotos are bad like Dan Brown novels.
Gotos being bad falls in the it depends category.
Bad:
- When you think you're going to do something clever (when you should probably be reaching for a different tool that you may or may not know exists)
Good:
- When in the form of a jump that's was written by a sound compiler
- When learning how assembly works
- When working on codecs and you're actually going to spend the many hours to get everything right.
- Labelled breaks in nested for loops
- Embedded systems when resources are constrained
- When writing debuggers
- When writing anti-cheat systems
- And finally, when you actually need to because you're manually managing things (e.g. you're writing a kernel)