1Z0-811 Control Flow and Loops Practice Question
A developer receives a ticket that a batch processing job is running indefinitely. The job reads records from a database and processes them in a loop. The code uses a while(true) loop with a break condition when a sentinel value is encountered. However, due to a data anomaly, the sentinel value is never reached, causing the loop to run forever. The developer needs to fix the loop to prevent infinite execution while still allowing processing of all records until the sentinel is reached. Which approach is most appropriate?
⚠ Common exam trap
Many exam-takers choose Option A (do-while) thinking it changes the evaluation timing, but the fundamental issue is the missing sentinel, not the loop structure, so the loop still runs indefinitely.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Add a counter variable and break after a maximum number of iterations
Adding a counter variable and breaking after a maximum number of iterations provides a safety net against infinite loops while still allowing the loop to process all records until the sentinel is reached under normal conditions. This approach is a common defensive programming technique in Java to handle unexpected data anomalies without altering the core loop logic.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use a do-while loop that checks the condition at the end
Why it's wrong here
A do-while loop would still run indefinitely if the sentinel is never set; it doesn't add a safety limit.
- ✗
Change the loop to a for loop with a fixed range based on the expected number of records
Why it's wrong here
The exact number of records may not be known and can change, making this approach inflexible.
- ✗
Throw an exception when the loop runs too long
Why it's wrong here
Throwing an exception is a poor way to handle this; it doesn't gracefully stop the loop and may cause job failure.
- ✓
Add a counter variable and break after a maximum number of iterations
Why this is correct
This limits the loop iterations, preventing infinite execution while still allowing normal processing.
Go deeper
Related to this question
About these practice questions
Courseiva writes every 1Z0-811 question from scratch — 481 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This 1Z0-811 practice question is part of Courseiva's free Oracle certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 1Z0-811 exam.