Pulling things out into other functions makes it even clearer.
Though yes, the goto is clearer than the labelled continue. I wouldn't necessarily agree that it's less error prone though.
while (fTrueForAny(xs)) { } boolean fTrueForAny(List xs) { for (Item x : xs) { if (f(x)) { return true; } } return false; }
var externalDataStore = new ExternalDataStore() [1, 2, 3, 4].each(x => externalDataStore.store(x)) externalDataStore.getItems().each(item => print(item))
Pulling things out into other functions makes it even clearer.
Though yes, the goto is clearer than the labelled continue. I wouldn't necessarily agree that it's less error prone though.