مرجع استثنا (PHP Exception)
وقتی خطای غیرمنتظره رخ می دهد، «استثنا (Exception)» پیام می فرستد. این پیام توضیح می دهد چه شد و کجا شد. سپس می توانی آن را بگیری و واکنش نشان دهی.
شیء Exception و کارکرد کلی
شیء Exception ویژگی عمومی ندارد؛ اما با سازنده و متدها اطلاعات می دهد. بنابراین می توانی پیام، کد، فایل، و خط را بخوانی. همچنین زنجیره استثناها نیز قابل پیگیری است.
متدهای مهم Exception
- Exception(): سازنده شیء Exception.
- getCode(): برگرداندن کد استثنا.
- getFile(): مسیر کامل فایلِ محل پرتاب.
- getMessage(): توضیح دلیل استثنا.
- getLine(): شماره خطِ محل پرتاب.
- getPrevious(): استثنای قبلی، اگر وجود داشته باشد.
- getTrace(): آرایه ردگیری فراخوانی ها.
- getTraceAsString(): همان ردگیری، اما رشته ای.
نمونه کوتاه استفاده
در مدرسه اگر تکلیف خالی باشد، معلم دلیل می پرسد. اینجا هم همین طور؛ استثنا دلیل می دهد، تو می خوانی.
<?php
try {
throw new Exception("Data is invalid", 422);
} catch (Exception $ex) {
echo $ex->getMessage();
echo "\n";
echo $ex->getCode();
echo "\n";
echo $ex->getFile();
echo ":";
echo $ex->getLine();
echo "\n";
echo $ex->getTraceAsString();
}
?>
گام های پیشنهادی برای دیباگ راحت تر
- همیشه پیام کوتاه و شفاف بنویس.
- کد خطا را معنادار تعیین کن.
- اطلاعات فایل و خط را لاگ کن.
- برای زنجیره خطا، getPrevious را بررسی کن.
پیوندهای مرتبط داخلی
برای مدیریت نمایش خطا، بخش تنظیم هندلر استثنا و تنظیم هندلر خطا را نیز ببین.
جمع بندی سریع
- Exception اطلاعات خطا را استاندارد می دهد.
- متدها پیام، کد، فایل، و خط را می دهند.
- ردگیری ها مسیر اجرای مشکل دار را نشان می دهند.
- با هندلر مناسب، خروجی را کنترل کن.