Lewati ke konten
getnextpdf.com

Referensi kesalahan

Ini adalah daftar referensi eksepsi yang dimunculkan NextPDF Core, ditata berdasarkan area. Setiap halaman kategori mendokumentasikan, per kelas, kapan eksepsi tersebut dilemparkan, data terstruktur yang dibawanya, dan cara memulihkannya. Jika Anda mendiagnosis sebuah gejala alih-alih menangkap kelas tertentu, mulailah dari panduan pemecahan masalah — panduan tersebut ditata berdasarkan apa yang Anda amati.

  • Sebagian besar eksepsi memperluas satu basis tunggal, NextPdfException, sehingga Anda dapat menangkap seluruh keluarga ini dengan satu blok catch.
  • NextPdfException bersifat sadar-konteks: kelas ini mengimplementasikan ContextAwareExceptionInterface, yang mendeklarasikan getContext(): array. Banyak subkelas menimpa getContext() untuk mengembalikan kunci diagnostik terstruktur; lainnya mewarisi bawaan kosong dan memaparkan detailnya melalui pesan dan getter bertipe.
  • Sejumlah kecil eksepsi tingkat rendah memperluas \RuntimeException PHP secara langsung alih-alih NextPdfException. Eksepsi ini tidak sadar-konteks dan membawa detailnya pada properti readonly publik. Setiap halaman kategori menandainya secara eksplisit.
  • Dua tipe kepatuhan yang dinamai …Violation (ComplianceViolation, RuleViolation) adalah objek nilai, bukan eksepsi — keduanya menggambarkan temuan tanpa dilemparkan.

NextPdfException adalah kelas abstrak yang memperluas \RuntimeException dan mengimplementasikan ContextAwareExceptionInterface. Kontraknya kecil:

interface ContextAwareExceptionInterface
{
/** @return array<string, mixed> structured, log-safe diagnostic context */
public function getContext(): array;
}

Oleh karena itu, sebuah penangan defensif tampak seperti ini:

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.
}

Karena beberapa kegagalan muncul sebagai \RuntimeException polos (lihat catatan per kategori), batas yang dirancang ekstra-hati-hati juga dapat menangkap \RuntimeException dan memeriksa tipe konkretnya.