Loops are supposed to be used in circumstances where the same code should be capable of running more than once in succession. There are a number of methods to accomplish this, none of which is more correct, but to give you some ideas you can use exception logic, which is useful in reusable compartmentalized code because different portions of code may wish to treat failure differently. Assuming none of the code you are calling throws exceptions you would throw them yourself:
OpenAFile
If Failed Then Throw New IOException("Unable to open file.")
DoSomething
If Not OK Then Throw New ApplicationException("Couldn't DoSomething.")
alternatively you can let natural exception bubble out the calling code or catch exceptions in the method to fail safely depending on the context you use it in:
Public Function TryToDoStuff( ... ) As Boolean
Try
OpenAFile
DoSomething
Catch ioex As IOException
Return False
End Try
Return True
End Function
For future reference you may wish to be more specific with your question as it will help people understand you true purpose, but ultimately everybody has their own rules and guidelines while they code and the only real mandate is that it gets the job done. Still the methods above are standard approaches because the improve readability, reliability and maintainability (accidentally putting a break in the wrong place is easier than forgetting an End Try since the compiler will notice).
Sidenote: There is a circumstance where using a loop of this nature to accomplish a single action: progressive retry logic can continue trying to do something (assuming it expects there to be issues like waiting for availability or expecting the possibility of a known error), but it does not seem like this is the case here and generally retry and error-ready logic can be implemented in more maintainable ways as well.
Edit:
The example may be causing some confusion; It is difficult to discern whether you are processing more than one item in the loop or if you are using it only as a flow control paradigm. If it is only for flow control many of the above options are more maintainable, though I understand the desire to avoid nested if statements, you can still use something that doesn't insinuate multiple-item processing; chances are if your code is broken down into so many flow-control operations and conditions you can probably improve your abstraction to make your code more maintainable while accomplishing similar results in avoiding overly-nested if statements.
If this is focused toward speed it is achieving such a minor gain, if any, over the alternatives and, if it's really that important to you then you should probably use a Do While instead (and we really ought not even be using VB if optimization is that important to you) since you're currently evaluating an always true condition unnecessarily which is a wasted execution step (probably negating the benefit of the fallthrough); even still you're using just as many conditional evaluations as your code would otherwise and ultimately your callstack is still (presumably) growing and shrinking during execution so compartmentalizing into functions and using returns instead is just as feasible.
Ultimately style is a personal choice, and there's nothing wrong with a break statement, just as there's nothing wrong with a throw or a return; ultimately every branch in code is a goto, we just use different vocabulary to describe the circumstances around the jump. If the code does it's job and is easy to maintain there's nothing wrong with it. If you're using loops instead of other flow control alternatives for the sake of optimization perhaps you should just start writing assembly, then there's absolutely no unnecessary code (if you're good at it ;p).
I think we can all appreciate this comic, but ultimately you will still see goto used, even in well-thought-of code communities. Many linux drivers contain them and, if people really wanted to be nazis about the whole goto thing, this would be an excellent pattern that could change the ways that they use them, but ultimately all of the alternatives are the same thing to the machine.