โค้ดจับ `OSError` จากการเปิดไฟล์ แต่ขั้นวิเคราะห์หลังเปิดสำเร็จอาจเกิด `OSError` ของตนเอง ควรวางขั้นวิเคราะห์ที่ใดเพื่อไม่ให้ถูกจับปะปนกับข้อผิดพลาดเปิดไฟล์

กต่อท้ายคำสั่งเปิดไฟล์ภายใน `try` ก่อนเข้าสู่ `except OSError`
ขภายใน `except OSError` หลังข้อความว่าไม่สามารถเปิดไฟล์ได้
คภายใน `else` ที่ตามหลังทุก `except` ของโครงสร้างนี้
งหลังโครงสร้าง `try...except` โดยไม่ตรวจว่าการเปิดไฟล์สำเร็จหรือไม่

เฉลยอธิบาย

ส่วน `else` ทำงานเมื่อส่วน `try` ไม่ได้ยก exception และต้องอยู่หลังส่วน `except` ทั้งหมด จึงเหมาะกับการวิเคราะห์ที่ทำต่อเมื่อเปิดไฟล์สำเร็จ การวางการวิเคราะห์ต่อท้ายใน `try` อาจทำให้ `OSError` จากขั้นวิเคราะห์ถูกจับเสมือนเป็นข้อผิดพลาดจากคำสั่งเปิดไฟล์

ข้อสอบอื่นในวิชาการพัฒนาระบบสารสนเทศ วิเคราะห์ ออกแบบ และการเขียนโปรแกรมคอมพิวเตอร์

ดูข้อสอบวิชานี้ทั้งหมด →