Я использовал его раньше, если мне нужно реализовать много условных проверок, например, обработку формы ввода в php. Вероятно, не лучшая практика, но она более читабельна, чем многие альтернативы:
do {
if ( field1_is_invalid ) {
$err_msg = "field1 is invalid"; break;
}
if ( field2_is_invalid ) {
$err_msg = "field2 is invalid"; break;
}
.. check half a dozen more things ..
// Only executes if all checks succeed.
do_some_updates();
} while (false)
Кроме того, я думаю, технически это не петля. Больше похоже на способ избежать использования GOTO:)