فهرست مستندات پروژه

خطاها و مدیریت آن‌ها

Daynumv1.0.0-beta.4مشاهده منبعفارسی / انگلیسی

مدیریت خطاهای تاریخ، ورودی، منطقه زمانی و محدوده در جای مناسب.

همه exceptionهای تعریف‌شده کتابخانه در Eram\Daynum\Exception هستند و رابط نشانه‌گذار DaynumException را پیاده‌سازی می‌کنند. برای رسیدگی مشخص، همان کلاس خطا را بگیرید. اگر همه خطاهای Daynum در مرز برنامه یک روش رسیدگی دارند، از این رابط استفاده کنید. TypeError در PHP، خطاهای JSON و exceptionهای پیاده‌سازی locale خودتان زیرمجموعه آن نیستند.

مرجع خطاها

خطاعلت معمولروش برخورد
InvalidDateExceptionتاریخ، ساعت یا سال نامعتبر هنگام ساختورودی را رد یا اصلاح کنید؛ برای خروجی nullable از tryFrom…() استفاده کنید
ParseExceptionناسازگاری قالب، تاریخ خوانده‌شده، محدوده یا روز هفتهراهنمای ورودی نشان دهید؛ tryParseExact() مقدار null می‌دهد
InvalidArgumentExceptionزبان، شکل ارقام، شروع هفته یا ساختار آرایه نامعتبرتنظیمات یا نگاشت ورودی را اصلاح کنید
MissingTimezoneExceptiontimestamp یا توکن منطقه زمانی بدون برچسبمنطقه زمانی مورد نظر را مشخص کنید، نه یک پیش‌فرض تصادفی سرور
InvalidTimezoneExceptionتبدیل با PHP و منطقه زمانی ناشناختهانتخاب منطقه زمانی برنامه را بررسی کنید
UmmAlQuraOutOfRangeExceptionساخت، خواندن یا محاسبه ماه و سال خارج از جدولتقویم دیگری را آگاهانه انتخاب کنید یا ورودی را رد کنید
WeekAtBoundaryExceptionمحاسبه هفته به پنجشنبه یا سال خارج از محدوده نیاز داردنمایش شماره هفته را حذف کنید یا مرز را جداگانه مدیریت کنید

خواندن تاریخ نامعتبر

parseExact() خطاهای تقویم، از جمله محدوده ام‌القری، را به ParseException تبدیل می‌کند. tryParseExact() فقط همین کلاس را می‌گیرد؛ پس locale ناشناخته همچنان خطا می‌دهد:

<?php
require 'vendor/autoload.php';

use Eram\Daynum\Calendar\Gregorian\GregorianView;
use Eram\Daynum\Exception\DaynumException;

try {
    GregorianView::tryParseExact('2026-04-08', 'Y-m-d', locale: 'xx');
} catch (DaynumException $e) {
    echo get_class($e), "\n";
}
Eram\Daynum\Exception\InvalidArgumentException

UmmAlQuraOutOfRangeException

نتیجه isValidHijri() === false ثابت نمی‌کند که فقط باید به قمری محاسباتی بروید؛ ماه و روز نامعتبر هم همین نتیجه را دارند. مدیریت مشخص تقویم را ببینید.

کلاس‌های InvalidArgumentException، InvalidDateException و ParseException کتابخانه از \InvalidArgumentException در PHP ارث می‌برند. دو کلاس آخر زیرکلاس InvalidArgumentException خود Daynum نیستند. رابط نشانه‌گذار یا کلاس‌های مشخص مورد نیاز را بگیرید. پیام دقیق خطا برای عیب‌یابی است و API کد خطای ساختاریافته محسوب نمی‌شود.

جستجو در مستندات

در همه پروژه‌ها جستجو کنید. با بستن این پنجره به راهنما برمی‌گردید.

Tab برای جابه‌جایی · Enter برای باز کردنEsc برای بستن