On Mon, Aug 18, 2025 at 02:36:31PM -0700, Linus Torvalds wrote: > I realize some people have grown up being told that "goto is bad". Or > have been told that exception handling should be baked into the > language and be asynchronous. Both of those ideas are complete and > utter garbage, and the result of minds that cannot comprehend reality. > > Asynchronous exceptions are horrific and tend to cause huge > performance problems (think setjmp()). The Linux kernel exception > model with explicit exception points is not only "that's how you have > to do it in C", it's also technically superior. > > And "goto" is fine, as long as you have legible syntax and don't use > it to generate spaghetti code. Being able to write bad code with goto > doesn't make 'goto' bad - you can write bad code with *anything*. Even Dijkstra doesn't argue against using goto for exception handling, "I remember having read the explicit recommendation to restrict the use of the go to statement to alarm exits, but I have not been able to trace it; presumably, it has been made by C.A.R. Hoare." https://www.cs.utexas.edu/~EWD/transcriptions/EWD02xx/EWD215.html