Вы можете переписать свой код примерно так:
var continueWhileCondition = true
while (someCondition && continueWhileCondition) {
while (someOtherCondition) {
if (someThirdCondition) {
continueWhileCondition = false
}
}
if (continueWhileCondition) {
//here do try/catch
}
}
Просто добавьте дополнительное условие, которое будет нарушено. Но это не решение FP, и вы действительно должны использовать рекурсию.