Whenever you use break; (or continue;), by default it only affects the current loop where it is invoked . If you are in a inner loop, surely the only loop that you can break; from is that loop. What if you need to break; from the outer-most loop in order to proceed to the next set of instructions?