Quote Originally Posted by MikeAThon
The other code constructs (like break and switch and continue) do not suffer from the "comes from" problem. You know exactly where the code is coming from, and its exact state when it arrives.
Well, actually when you got multiple continues/break within a loop you may lose track.

The major problem with 'goto' is IMO what TheCPUWizard mentioned. That you can easily jump over variable declaration/definition/initialization without ever being notified (not even a warning) and that may lead to strange results.

I see the "comes from" problem all the time, and to me it just another issue that I have to deal with when debugging.

Code:
int i = // some value
while (i > 0)
{
    // do something...
}

// at this point i =< 0. How can I know if the above loop was ever entered? 
// And if it was, how many iterations were there?
- petter