Tài liệu tham khảo lỗi
Đây là danh sách tham khảo các ngoại lệ mà NextPDF Core nêu ra, được tổ chức theo lĩnh vực. Mỗi trang nhóm lỗi sẽ ghi rõ, cho từng lớp, khi nào nó được ném, dữ liệu có cấu trúc nó mang theo, và cách khôi phục. Nếu bạn đang chẩn đoán một triệu chứng thay vì bắt một lớp cụ thể, hãy bắt đầu với các hướng dẫn khắc phục sự cố — chúng được tổ chức theo những gì bạn quan sát được.
Nhìn nhanh
Phần tiêu đề “Nhìn nhanh”- Hầu hết các ngoại lệ đều mở rộng một lớp cơ sở duy nhất,
NextPdfException, nên bạn có thể bắt toàn bộ họ lớp này chỉ với một khốicatch. NextPdfExceptionnhận biết context: nó hiện thựcContextAwareExceptionInterface, vốn khai báogetContext(): array. Nhiều lớp con ghi đègetContext()để trả về các khóa chẩn đoán có cấu trúc; số khác kế thừa giá trị mặc định rỗng và phơi bày chi tiết qua thông báo và các getter có kiểu.- Một số ít ngoại lệ cấp thấp mở rộng trực tiếp
\RuntimeExceptioncủa PHP thay vìNextPdfException. Những lớp này không nhận biết context và mang chi tiết trên các thuộc tính công khai chỉ đọc. Mỗi trang nhóm lỗi đều đánh dấu chúng một cách rõ ràng. - Hai kiểu tuân thủ có tên
…Violation(ComplianceViolation,RuleViolation) là các đối tượng giá trị, không phải ngoại lệ — chúng mô tả một phát hiện mà không bị ném ra.
Kiểu cơ sở và hợp đồng context
Phần tiêu đề “Kiểu cơ sở và hợp đồng context”NextPdfException là một lớp trừu tượng mở rộng \RuntimeException và hiện thực ContextAwareExceptionInterface. Hợp đồng này rất nhỏ:
interface ContextAwareExceptionInterface{ /** @return array<string, mixed> structured, log-safe diagnostic context */ public function getContext(): array;}Do đó một trình xử lý phòng thủ trông như sau:
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.}Vì một số lỗi xuất hiện dưới dạng một \RuntimeException trần (xem các ghi chú theo từng nhóm), một ranh giới phòng vệ kép cũng có thể bắt \RuntimeException và kiểm tra kiểu cụ thể.
Các nhóm
Phần tiêu đề “Các nhóm”- Lỗi core và lỗi chung — các lỗi về tài liệu, hợp nhất, khả năng truy cập, hóa đơn điện tử, không gian màu, đối tượng giá trị, và chế độ nghiêm ngặt, cùng các kiểu cơ sở dùng chung.
- Lỗi bảo mật, ký và PKI — tạo và xác minh chữ ký, dấu thời gian, xác thực đường dẫn PKI và ràng buộc tên, băm, toàn vẹn, và PKCS#11.
- Lỗi kết xuất và I/O — bố cục HTML và paged-media, phông chữ và định hình văn bản, trình ghi và trình đọc, và siêu dữ liệu XMP.
- Lỗi môi trường chạy và hỗ trợ — truyền tải HTTP, khả năng phục hồi (circuit breaker, chế độ suy giảm), khả năng quan sát, và xử lý manifest.
- Lỗi Accelerator — truyền tải sidecar tăng tốc tùy chọn.
- Lỗi tuân thủ — các yêu cầu về clause-hash và vòng đời tuân thủ.
Xem thêm
Phần tiêu đề “Xem thêm”- Khắc phục sự cố — các hướng dẫn được tổ chức theo triệu chứng cho xác thực chữ ký, mã hóa và quyền, phông chữ và gắn thẻ, và xác thực PDF/A và PDF/UA.