Đoạn code nào tự động đóng tệp khi có ngoại lệ xảy ra?
Trả lời:
Đáp án đúng: D
Câu hỏi kiểm tra kiến thức về cách xử lý tệp tin trong Python, đặc biệt là việc đảm bảo tệp tin được đóng ngay cả khi có ngoại lệ xảy ra.
Phương án A sử dụng cấu trúc `with open(...) as f:`. Cấu trúc `with` trong Python đảm bảo rằng tệp tin sẽ tự động được đóng khi khối mã bên trong `with` hoàn thành, kể cả khi có ngoại lệ xảy ra. Điều này là do `with` sử dụng context manager, và context manager sẽ tự động gọi phương thức `__exit__` khi khối mã kết thúc, phương thức này thường đóng tệp tin.
Phương án B sử dụng cấu trúc `try... finally`. Trong cấu trúc này, khối `finally` luôn được thực thi, bất kể có ngoại lệ xảy ra hay không. Tuy nhiên, có một lỗi cú pháp nhỏ, cần sửa lại thành `try: f = open("test.txt", encoding = 'utf-8') finally: f.close()` để chương trình chạy đúng. Tuy nhiên, phương án này cũng có thể gây ra lỗi nếu `f` không được gán giá trị trong khối `try` (ví dụ: nếu `open` gặp lỗi trước khi gán `f`), dẫn đến lỗi khi cố gắng gọi `f.close()`. Để an toàn hơn, cần kiểm tra xem `f` có tồn tại trước khi gọi `f.close()`, ví dụ: `finally: if 'f' in locals(): f.close()`.
Phương án C nói rằng không có đáp án nào đúng, điều này không chính xác vì A đúng.
Phương án D nói rằng cả A và B đều đúng. Phương án B có lỗi nhỏ và cần sửa lại để chạy được và an toàn hơn. Mặc dù về mặt ý tưởng là đúng, nhưng do cách viết chưa chuẩn nên ta ưu tiên đáp án A hơn.
Vậy đáp án đúng nhất là A.
Tổng hợp 200 câu hỏi trắc nghiệm lập trình Python có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
