ข้ามไปยังเนื้อหา
getnextpdf.com

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

นี่คือรายการอ้างอิงของ 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 โดยอธิบายข้อค้นพบโดยไม่ถูกยกขึ้น

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