İçeriğe geç
getnextpdf.com

Hata başvurusu

Bu, NextPDF Core’un fırlattığı istisnaların, alana göre düzenlenmiş başvuru listesidir. Her kategori sayfası, sınıf bazında, ne zaman fırlatıldığını, taşıdığı yapılandırılmış veriyi ve nasıl kurtulacağınızı belgeler. Belirli bir sınıfı yakalamak yerine bir belirtiyi tanılıyorsanız, bunun yerine sorun giderme kılavuzlarıyla başlayın — bunlar gözlemlediğiniz şeye göre düzenlenmiştir.

  • İstisnaların çoğu tek bir temel sınıfı, NextPdfException sınıfını genişletir; böylece tüm aileyi tek bir catch bloğuyla yakalayabilirsiniz.
  • NextPdfException bağlam farkındadır: getContext(): array bildiren ContextAwareExceptionInterface arayüzünü uygular. Birçok alt sınıf, yapılandırılmış tanılama anahtarları döndürmek için getContext() yöntemini geçersiz kılar; diğerleri boş varsayılanı devralır ve ayrıntılarını ileti ile türlü erişimciler üzerinden sunar.
  • Az sayıda düşük seviyeli istisna, NextPdfException yerine doğrudan PHP’nin \RuntimeException sınıfını genişletir. Bunlar bağlam farkında değildir ve ayrıntılarını genel salt okunur özellikler üzerinde taşır. Her kategori sayfası bunları açıkça işaretler.
  • …Violation adlı iki uygunluk türü (ComplianceViolation, RuleViolation) istisna değil, değer nesnesidir — fırlatılmadan bir bulguyu tanımlarlar.

NextPdfException, \RuntimeException sınıfını genişleten ve ContextAwareExceptionInterface arayüzünü uygulayan soyut bir sınıftır. Sözleşme küçüktür:

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

Bu nedenle savunmacı bir işleyici şöyle görünür:

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

Bazı hatalar çıplak bir \RuntimeException olarak yüzeye çıktığından (kategori başına notlara bakın), kemer-ve-pantolon askısı bir sınır, somut türü incelemek için ayrıca \RuntimeException türünü de yakalayabilir.