PCPP1 Best Practices And Coding Conventions Practice Question
You are debugging a legacy application and need to ensure that resources like file handles are always closed. Which construct is preferred?
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
✓
Use a context manager with the 'with' statement.
The 'with' statement (context manager) ensures that cleanup code is executed even if an exception occurs.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Wrap the file operation in a try-except block.
Why it's wrong here
This does not guarantee closure if an exception isn't caught or if the block is exited early.
- ✗
Manually call file.close() in a finally block.
Why it's wrong here
While 'finally' works, the 'with' statement is more idiomatic and concise.
- ✓
Use a context manager with the 'with' statement.
Why this is correct
This is the Pythonic way to handle resource management.
- ✗
Rely on the garbage collector to close the handle.
Why it's wrong here
Garbage collection is non-deterministic and should not be relied upon for resource release.
About these practice questions
Courseiva writes every PCPP1 question from scratch — 209 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 and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed August 2026 · checked against the official Python Institute exam blueprint
This PCPP1 practice question is part of Courseiva's free Python Institute 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 PCPP1 exam.