Mojo Academy · บทเรียน

การล้างข้อมูลด้วย finally

เรียกใช้โค้ดไม่ว่าจะเกิดอะไรขึ้น

บทเรียน 4 จาก 413 ขั้นตอน

การล้างข้อมูลด้วย finally เป็นบทเรียน Mojo Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Mojo Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Mojo Academy มีบทเรียนทั้งหมด 4 บทเรียน

โค้ดที่ทำงานเสมอ

การล้างทรัพยากรบางอย่างต้องเกิดขึ้นไม่ว่าจะสำเร็จหรือล้มเหลว เช่น การปิดไฟล์ บล็อก finally ของ Mojo รับรองสิ่งนี้ 🧹

การเพิ่ม finally

บล็อก finally อยู่หลัง try และ except โค้ดในบล็อกนี้จะทำงานไม่ว่าบล็อก try จะจบลงอย่างไร

try:
    use_resource()
finally:
    cleanup()

ทำงานหลังความสำเร็จ

หากบล็อก try ทำงานจนจบโดยไม่มีปัญหา finally ก็ยังทำงานต่อทันที นี่คือขั้นตอนสุดท้ายที่รับรองว่าจะเกิดขึ้น

ทำงานหลังเกิดข้อผิดพลาด

หากบล็อก try ทำให้เกิดข้อผิดพลาด finally จะทำงานก่อนที่ข้อผิดพลาดจะถูกส่งต่อขึ้นไป การล้างทรัพยากรจะไม่ถูกข้าม

เหมาะอย่างยิ่งสำหรับทรัพยากร

ใช้ finally เพื่อคืนสิ่งที่คุณเปิดไว้ เช่น ไฟล์ การเชื่อมต่อ หรือการล็อก สิ่งเหล่านี้จะถูกปิดแม้เกิดความล้มเหลว

try:
    var f = open("data.txt", "r")
    read_all(f)
finally:
    f.close()

ใช้ try, except และ finally ร่วมกัน

คุณสามารถใช้ทั้งสามอย่างร่วมกันได้: ให้ try ทำงาน ให้ except กู้คืน และให้ finally ล้างทรัพยากรในทุกกรณี

try:
    work()
except e:
    print(e)
finally:
    cleanup()

ใช้ finally โดยไม่มี except

คุณสามารถจับคู่ finally กับ try เพียงอย่างเดียวโดยไม่มี except ได้ ข้อผิดพลาดยังคงถูกส่งต่อ แต่การล้างทรัพยากรจะเกิดขึ้นก่อน

ลำดับเหตุการณ์

ลำดับการทำงานเรียบง่าย: ทำงานใน try จากนั้นทำงานใน except หากเกิดข้อผิดพลาด และให้ finally ทำงานเป็นลำดับสุดท้ายเสมอ จึงคาดเดาได้ทุกครั้ง

หลีกเลี่ยงงานหนักในบล็อกนี้

ให้ finally มุ่งเน้นที่การล้างทรัพยากร หลีกเลี่ยงตรรกะที่มีความเสี่ยง เพราะข้อผิดพลาดในบล็อกนี้อาจซ่อนปัญหาเดิม

ไม่มีการรั่วไหล ไม่มีเรื่องไม่คาดคิด

เมื่อใช้ finally ทรัพยากรจะถูกคืนอย่างน่าเชื่อถือ โปรแกรมของคุณจึงหลีกเลี่ยงการรั่วไหลได้ แม้ในเส้นทางที่มีข้อผิดพลาดมากที่สุด

ตาข่ายนิรภัยสำหรับการล้างทรัพยากร

ลองมอง finally เป็นตาข่ายนิรภัยใต้โค้ดที่มีความเสี่ยง ซึ่งรับหน้าที่ล้างทรัพยากรไม่ว่าจะเกิดอะไรขึ้นด้านบน 🪢

ตรวจสอบอย่างรวดเร็ว

ทบทวนให้แน่ชัดว่าบล็อก finally ทำงานเมื่อใด

สรุปทบทวน

คุณได้เรียนรู้ว่า finally จะทำงานหลัง try เสมอ ไม่ว่าจะสำเร็จหรือล้มเหลว จึงเป็นตำแหน่งที่เชื่อถือได้สำหรับการคืนไฟล์และทรัพยากร 🎯

เริ่มต้นได้ฟรี

เรียนรู้ Mojo ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “การล้างข้อมูลด้วย finally” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การล้างข้อมูลด้วย finally” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Mojo Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Mojo Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การล้างข้อมูลด้วย finally”

เรียกใช้โค้ดไม่ว่าจะเกิดอะไรขึ้น คุณปฏิบัติ Mojo Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Mojo Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Mojo Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การล้างข้อมูลด้วย finally” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Mojo Academy นี้ได้ไหม

ได้ บทเรียน Mojo Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การส่งข้อผิดพลาด
  2. การดักจับด้วย try/except
  3. คำอธิบาย raises
  4. การล้างข้อมูลด้วย finally
← กลับไปที่ Mojo Academy