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

ชุดข้อผิดพลาดที่อนุมาน

ให้ Zig รวบรวมข้อผิดพลาดให้คุณ

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

การแสดงรายการข้อผิดพลาดนั้นน่าเบื่อ

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

ละเว้นชุดข้อผิดพลาด

เขียนเพียง !T โดยไม่ใส่อะไรก่อนเครื่องหมาย Bang Zig จะตรวจสอบเนื้อหาฟังก์ชันและคำนวณว่าฟังก์ชันอาจสร้างข้อผิดพลาดใดได้บ้าง

fn parse(s: []const u8) !u32 {
    // ...
}

คอมไพเลอร์รวบรวมข้อผิดพลาด

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

if (s.len == 0) return error.Empty;

ยังคงแม่นยำ

หากภายหลังเพิ่มการเรียกที่อาจล้มเหลว ชุดที่อนุมานได้จะ ขยายเพื่อรวมข้อผิดพลาดนั้น คุณไม่ต้องจำแก้ไขรายการที่เขียนด้วยมือ

การอนุมานข้ามการเรียก

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

const f = try open(path);

ชุดที่ระบุชัดเจนยังคงเหนือกว่า

บางครั้งคุณต้องการสัญญาสาธารณะที่ตายตัว การตั้งชื่อชุดไว้ก่อน ! จะห้ามข้อผิดพลาดที่อยู่นอกชุดนั้น ซึ่งการอนุมานจะไม่ทำเช่นนี้

fn load() FileError!Data {}

ข้อแลกเปลี่ยนในบรรทัดเดียว

ชุดที่อนุมานได้สะดวกและอัปเดตตัวเอง ส่วนชุดที่ระบุชัดเจนแม่นยำและคงที่ เลือกตามว่าสัญญาการทำงานต้องคงเดิมหรือไม่

ตรวจสอบด้วย @errorReturnTrace

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

เหมาะสำหรับฟังก์ชันช่วยภายใน

การอนุมานมีประโยชน์มากกับฟังก์ชันช่วยส่วนตัวที่ไม่จำเป็นต้องมีส่วนติดต่อสาธารณะที่เคร่งครัด ให้ Zig จัดการ รายละเอียดเบื้องหลัง ตรงนั้นแทนคุณ

ยังคงตรวจสอบอย่างครบถ้วน

ไม่ว่าจะอนุมานหรือระบุไว้อย่างชัดเจน ผู้เรียกก็ยังต้องจัดการข้อผิดพลาดทุกกรณี การอนุมานช่วยลดการพิมพ์โค้ด ไม่ได้ลดความปลอดภัย คอมไพเลอร์ยังคง เคร่งครัด

ค่าเริ่มต้นที่ใช้งานได้จริง

ฟังก์ชัน Zig จำนวนมากใช้ !T แล้วปล่อยให้ระบบอนุมานทำงาน ให้ใช้ชุดที่ตั้งชื่อไว้เฉพาะกับขอบเขตที่คุณต้องการควบคุมให้แน่นอน

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

ฟังก์ชันหนึ่งประกาศชนิดค่าที่ส่งคืนเป็น !u32 โดยไม่มีชุดข้อผิดพลาดอยู่หน้าเครื่องหมายอัศเจรีย์ Zig จะทำอย่างไร

สรุป

คุณได้เห็นชุดข้อผิดพลาดที่อนุมานผ่าน !T แบบไม่ระบุชุด ได้เห็นว่าชุดเหล่านี้ขยายตามเนื้อหาภายในฟังก์ชันอย่างไร และเมื่อใดควรเลือกใช้ชุดที่ระบุไว้อย่างชัดเจน ✅

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

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

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

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

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

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

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

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

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

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

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

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

  1. ชุดข้อผิดพลาดและยูเนียน !T
  2. คืนข้อผิดพลาดจากฟังก์ชัน
  3. ส่งต่อความล้มเหลวด้วย try
  4. ชุดข้อผิดพลาดที่อนุมาน
← กลับไปที่ Zig Academy