0Pricing
Mojo Academy · บทเรียน

การส่งข้อผิดพลาด

ส่งสัญญาณว่ามีบางอย่างผิดพลาด

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

เมื่อเกิดข้อผิดพลาด

บางครั้งฟังก์ชันพบสถานการณ์ที่จัดการไม่ได้ เช่น ไฟล์หายไปหรืออินพุตไม่ถูกต้อง Mojo ให้คุณส่งสัญญาณด้วย ข้อผิดพลาด ⚠️

คีย์เวิร์ด raise

หากต้องการส่งสัญญาณว่าการทำงานล้มเหลว ให้ใช้คีย์เวิร์ด raise ซึ่งจะหยุดงานปัจจุบันและรายงานว่ามีบางอย่างผิดพลาด

raise Error("something went wrong")

ข้อผิดพลาดมีข้อความกำกับ

เมื่อใช้ raise คุณจะส่ง ข้อความสั้น ๆ ที่อธิบายปัญหาไปด้วย ผู้ที่จัดการข้อผิดพลาดจะอ่านข้อความนั้นได้

raise Error("file not found")

ใช้ raise ภายในฟังก์ชัน

ฟังก์ชันสามารถ raise ได้เมื่ออินพุตไม่ถูกต้อง ในที่นี้จำนวนติดลบจะถูกปฏิเสธก่อนเริ่มทำงานส่วนถัดไป

fn withdraw(amount: Int) raises:
    if amount < 0:
        raise Error("amount must be positive")

raise หยุดการทำงาน

เมื่อ raise ทำงาน ส่วนที่เหลือของฟังก์ชันจะถูกข้าม การควบคุมจะออกจากฟังก์ชันเพื่อค้นหาโค้ดที่จัดการข้อผิดพลาดได้

ทำไมไม่คืนค่า -1 ไปเลย

การคืนค่าพิเศษอย่าง -1 อาจถูกมองข้ามได้ง่าย แต่ ข้อผิดพลาดไม่สามารถถูกข้ามอย่างเงียบ ๆ ทำให้สังเกตเห็นความล้มเหลวได้ยากน้อยลงมาก

ข้อผิดพลาดส่งต่อขึ้นไป

ข้อผิดพลาดที่ยังไม่ได้จัดการจะเคลื่อนย้อนขึ้นไปผ่านฟังก์ชันผู้เรียกจนกว่าจะมีบางส่วนดักจับไว้ กระบวนการนี้เรียกว่า การส่งต่อ

ตรวจสอบอินพุต

การใช้ raise ตั้งแต่เนิ่น ๆ เมื่ออินพุตไม่ถูกต้องเป็นแนวทางที่ดี ตรวจสอบค่าก่อน แล้วจึง raise ก่อนที่ตรรกะหลักจะเริ่มทำงาน

if name == "":
    raise Error("name is required")

เหตุผลที่ชัดเจนเพียงหนึ่งเดียว

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

ข้อผิดพลาดไม่ใช่การหยุดทำงานแบบไร้การควบคุม

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

ใช้ raise เมื่อทำงานต่อไม่ได้

หลักง่าย ๆ คือ ให้ raise เฉพาะเมื่อฟังก์ชันไม่สามารถทำงานให้เสร็จอย่างถูกต้องได้จริง ๆ อย่าใช้ raise กับผลลัพธ์ปกติ

ตรวจสอบความเข้าใจ

ลองคิดดูว่าคีย์เวิร์ด raise ทำอะไรจริง ๆ ใน Mojo

ทบทวน

คุณได้เรียนรู้วิธีส่งสัญญาณความล้มเหลวด้วย raise การแนบข้อความที่ชัดเจน และการให้ข้อผิดพลาดหยุดการทำงานที่ไม่ถูกต้อง แทนการคืนค่าพิเศษ 🎯

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

บทเรียน “การส่งข้อผิดพลาด” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การส่งข้อผิดพลาด”

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

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

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

บทเรียน “การส่งข้อผิดพลาด” ใช้เวลานานแค่ไหน

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

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

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

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

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