การอ้างอิงข้อผิดพลาด
นี่คือรายการอ้างอิงของ exception ที่ NextPDF Core ยกขึ้น จัดเรียงตามพื้นที่ หน้าหมวดหมู่แต่ละหน้าจะบันทึกแยกตามคลาสว่ามันถูกยกเมื่อใด ข้อมูลแบบมีโครงสร้างที่มันพกพา และวิธีกู้คืน หากคุณกำลังวินิจฉัยอาการแทนการจับคลาสที่เฉพาะเจาะจง ให้เริ่มจากคู่มือแก้ไขปัญหาแทน เพราะคู่มือเหล่านั้นจัดเรียงตามสิ่งที่คุณสังเกตเห็น
ภาพรวมโดยสรุป
หัวข้อที่มีชื่อว่า “ภาพรวมโดยสรุป”- exception ส่วนใหญ่สืบทอดจากคลาสฐานเดียวคือ
NextPdfExceptionคุณจึงจับทั้งตระกูลได้ด้วยบล็อกcatchเดียว NextPdfExceptionเป็นแบบ context-aware: มันนำContextAwareExceptionInterfaceไปใช้ ซึ่งประกาศgetContext(): arrayซับคลาสจำนวนมากเขียนทับgetContext()เพื่อคืนคีย์วินิจฉัยแบบมีโครงสร้าง ส่วนคลาสอื่นสืบทอดค่าเริ่มต้นที่เป็นอาร์เรย์ว่างและเปิดเผยรายละเอียดผ่านข้อความและ getter แบบมีชนิด- exception ระดับล่างจำนวนเล็กน้อยสืบทอดจาก
\RuntimeExceptionของ PHP โดยตรงแทนNextPdfExceptionคลาสเหล่านี้ ไม่ใช่ context-aware และพกพารายละเอียดบนพร็อพเพอร์ตี public readonly หน้าหมวดหมู่แต่ละหน้าจะระบุไว้อย่างชัดเจน - ชนิด compliance สองตัวที่ชื่อ
…Violation(ComplianceViolation,RuleViolation) เป็น value object ไม่ใช่ exception โดยอธิบายข้อค้นพบโดยไม่ถูกยกขึ้น
ชนิดฐานและสัญญาของ context
หัวข้อที่มีชื่อว่า “ชนิดฐานและสัญญาของ context”NextPdfException เป็นคลาส abstract ที่สืบทอดจาก \RuntimeException และนำ ContextAwareExceptionInterface ไปใช้ สัญญานี้มีขนาดเล็ก:
interface ContextAwareExceptionInterface{ /** @return array<string, mixed> structured, log-safe diagnostic context */ public function getContext(): array;}ตัวจัดการแบบป้องกันจึงมีลักษณะดังนี้:
use NextPDF\Exception\NextPdfException;
try { // … NextPDF operation …} catch (NextPdfException $e) { $logger->error($e->getMessage(), $e->getContext()); // getContext() returns [] when a subclass does not override it; // the message and any typed getters still carry the detail.}เนื่องจากความล้มเหลวบางอย่างปรากฏเป็น \RuntimeException เปล่า (ดูหมายเหตุแยกตามหมวดหมู่) ขอบเขตแบบรัดกุมสองชั้นจึงอาจจับ \RuntimeException ด้วยและตรวจสอบชนิดที่เป็นรูปธรรม
หมวดหมู่
หัวข้อที่มีชื่อว่า “หมวดหมู่”- Core and general errors — ความล้มเหลวด้านเอกสาร การรวม การช่วยการเข้าถึง e-invoice colour-space value-object และ strict-mode พร้อมชนิดฐานที่ใช้ร่วมกัน
- Security, signing, and PKI errors — การสร้างและการตรวจสอบยืนยันลายเซ็น การประทับเวลา การตรวจสอบเส้นทาง PKI และ name-constraint การแฮช ความครบถ้วน และ PKCS#11
- Rendering and I/O errors — การจัดวาง HTML และ paged-media ฟอนต์และการ shaping ข้อความ writer และ reader และข้อมูลเมตา XMP
- Runtime and support errors — การขนส่ง HTTP ความยืดหยุ่น (circuit breaker, degraded mode) การสังเกตการณ์ และการจัดการ manifest
- Accelerator errors — การขนส่งของ acceleration sidecar เสริม
- Compliance errors — ข้อกำหนด clause-hash และวงจรชีวิต compliance
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- Troubleshooting — คู่มือที่จัดตามอาการสำหรับการตรวจสอบลายเซ็น การเข้ารหัสลับและสิทธิ์ ฟอนต์และการแท็ก และการตรวจสอบ PDF/A และ PDF/UA