به کمک نیاز دارید؟

خدمات تخصصی

جستجو
این کادر جستجو را ببندید.
آموزش زبان PHP

آموزش زبان PHP | طراحی مدیریت کننده خطاها ( Error Handler )

طراحی مدیریت کننده خطاها ( Error Handler ) در PHP

ایجاد یک مدیریت کننده خطا در PHP :

ساخت یک مدیریت کننده خطا نسبتا ساده است . به طور معمول ، تابعی را طراحی می کنیم تا در هنگام بروز خطا در صفحه ، فراخوانی شود . تابع طراحی شده بایستی حداقل دو پارامتر ورودی را دریافت و مدیریت کند :

  • شدت اهمیت خطا ( error level ) .
  • پیام خطا ( error message ) .

اعضای شبکه مشاوران در حوزه «برنامه‌نویسی، وب و امنیت سایبری»

فاطمه جعفری

مشاور توسعه جاوا و اپلیکیشن

اگر به یک رهبر توانمند برای تیم توسعه نرم افزار...

فرید تشیعی

متخصص، استراتژیست و مشاور سئو (SEO)

اگر در پیاده سازی، تعیین استراتژی، بوت کمپ یا مدیریت...

غزل شفیعی

مشاور برنامه نویسی PHP و توسعه لاراول

اگر به متخصصی باتجربه PHP و فریم ورک لاراول برای...

احسان مهدوی

مشاور شبکه، نرم افزار و هوش مصنوعی

اگر به دنبال رفع چالشهای شبکه، نرم‌افزار و امنیت فضای...

فاطمه مدیحی

مشاور برنامه نویسی جاوا اسکریپت، CSS و HTML

اگر به کمک شخصی با تجربه در برنامه نویسی Front-End...

ویدا رضایی

مشاور برنامه نویسی و طراحی وردپرس

اگر برای طراحی سایت وردپرسی خود به تجربیات و دانش...

طاهره حسن زاده

تحلیل‌گر داده و مشاور یادگیری‌ماشین و دیپ لرنینگ

اگر به مهارت های یک تحلیلگر داده با تجربه در...

فاطمه پورمحمد

مشاور برنامه نویسی، پایگاههای داده‌ای و دیتاساینس

اگر به یک تحلیل‌گر حرفه‌ای داده، برنامه‌نویس مسلط به پایگاههای...

نگار جنابی

مدیر پروژه، مشاور و مالک محصول پروژه‌های ICT

اگر در توسعه UI/UX و مدیریت پروژه‌های ICT خود به...

بنفشه سیدکباری

مشاور تحقیقات بازار، بازاریابی و فروش

اگر علاقمندید در تراز شرکتهای بزرگ و صاحب‌نام، بخش بازاریابی...

نیکا تهرانی

متخصص و مشاور سئو تکنیکال

اگر به استراتژی‌های حرفه‌ای سئو در موتور جستجوی گوگل از...

سپیده گونجی

مشاور SEO ،UI/UX و بازاریابی دیجیتال

اگر قصد دارید در دنیای دیجیتال فعالیت کرده و در...

همچین چندین پارامتر اختیاری نیز می تواند داشته باشد :

  • نام فایل ( file name ) .
  • شماره خطی از برنامه که خطا در آن رخ داده است ( line number ) .
  • محتوای خطا ( error context ) .

شکل کلی یک تابع طراحی شده برای مدیریت خطا در PHP می تواند به صورت زیر باشد :

syntax error_function ( error_level , error_message , error_file , error_line , error_context ) ;

در جدول زیر به تشریح پارامترهای کد فوق و استفاده آنها پرداخته شده است :

syntax توضیح هر یک از موارد
توضیح پارامتر
این پارامتر شدت اهمیت خطا را تعیین می کند . یک مقدار عددی است و شرح موارد آن در جدول راهنمای شماره 1 آمده است .
استفاده از این پارامتر اجباری است .
error_level
این پارامتر پیام خطا را که حاوی اطلاعاتی راجع به آن است را تعیین می کند .
استفاده از این پارامتر اجباری است .
error_message
این پارامتر نام فایلی که خطا در آن رخ داده است ، را مشخص می کند .
استفاده از این پارامتر اختیاری است .
error_file
این پارامتر شماره خطی که خطا در آن رخ داده است را مشخص می کند .
استفاده از این پارامتر اختیاری است .
error_line
این پارامتر نیز تمامی متغیرها و مقدارهایشان که در کد برنامه ای که خطا در آن رخ داده است را شامل می شود .
استفاده از این پارامتر اختیاری است .
error_context

جدول راهنمای شماره 1 : جدول زیر انواع مقادیر مختلف برای شدت اهمیت خطای رخ داده و توضیحات آنها را نشان می دهد :

جدول راهنمای شماره 1
پارامتر پارامتر توضیح
2 E_WARNING خطا با شدت اهمیت کم بوده و مانع اجرای اسکریپت نخواهد شد .
8 E_NOTICE پیام خطا یک اعلان مشکل . برنامه ممکن است ایرادی پیدا کرده باشد که از نظرش خطاست ، ولی مشکل خاصی ایجاد نمی کند .
256 E_USER_ERROR این خطا یک خطا مهم بوده و توسط کاربر پیش بینی شده است . به احتمال زیاد اجرای روند اسکریپت را متوقف می کند .
512 E_USER_WARNING یک پیام اخطار معمولی که معمولا باعث توقف اجرای اسکریپت نشده و توسط طراح پیش بینی شده است .
1024 E_USER_NOTICE یک اعلان بروز خطا یا مشکل معمولی که توسط طراح پیش بینی شده است .
4096 E_RECOVERABLE_ERROR یک خطای مهم و از کار اندازنده ، که قابل پیش بینی و مدیریت می باشد . معمولا این خطا توسط یک مدیریت کننده خطا طراحی شده توسط طراح برنامه ، شناسایی می شود .
8191 E_ALL همه نوع خطا و اخطار را شامل می شود .

نحوه طراحی یک مدیریت کننده خطا :

تابع زیر یک مدیریت کننده خطای معمولی را نشان می دهد که میزان شدت اهمیت خطا و پیام آن را در خروجی چاپ می کند :

syntax function customError( $errno , $errstr )
{
echo “Error : [$errno] $errstr “;
echo “Ending Script”;
die( );
}

هنگامی که خطایی رخ می دهد ، تابع فوق شدت اهمیت خطا را توسط پارامتر $errno و پیام خطا را توسط پارامتر $errstr دریافت کرده و در خروجی نشان می دهد .
اکنون که تابع مدیریت خطا را طراحی کردیم ، باید کد فراخوان آن را در جاهایی که می خواهیم ، قرار داده تا در صورت بروز خطا ، تابع فوق فراخوانی شود .

تنظیم فراخوان کننده تابع مدیریت خطا ( event handler ) :

مدیریت کننده پیش فرض برای خطا در PHP تعیین شده است . اما در مثال این بخش ، ما قصد داریم تا تابعی به نام ( ) customError را که خود برای اجرا در زمان بروز خطا ، طراحی کرده ایم را به عنوان مدیریت کننده پیش فرض خطا قرار دهیم .
لازم به ذکر است که این امکان وجود دارد تا شما برای هر بخش از کد یا دسته ای از توابع یک مدیریت کننده خطا پیش فرض تعیین کنید ، تا در مواقع مختلف بروز خطا ، به گونه های مختلف با آن برخورد نمایید .
اما در این مثال به وسیله تابع ( ) set_error_handler ، ما تابع ( ) customError را به عنوان مدیریت کننده خطای پیش فرض اسکریپت تعیین کرده ایم :

syntax set_error_handler( ” customError ” ) ;

مثال عملی کاملتر :

مثال : در مثال زیر ، پس از اینکه تابع مدیریت کننده خطا پیش فرض را برای برنامه تعیین کردیم ، در خط آخر مثال ، به برنامه دستور داده ایم تا مقدار متغیری که تعریف نشده است را چاپ کند !! این کار باعث بروز یک خطا شده و تابع مدیریت خطا را فراخوانی می کند :

syntax <?php
// تابع مدیریت کننده خطا
function customError($errno, $errstr)
{
echo “<b>Error:</b> [$errno] $errstr”;
}// تعیین تابع پیض فرض برای مدیریت خطا
set_error_handler(“customError”);// بروز و فراخوانی خطا
echo($test);
?>

پس از اجرای کد فوق و بروز خطا ، پیام زیر به عنوان پیام خطا توسط تابع ( ) customError اعلام می شود .

syntax Error : [8] Undefined variable : test
دکتر علی قوامی
دکتر علی قوامی
دانش‌آموخته دکترای تخصصی (PhD) کارآفرینی فناوری، بنیانگذار و مدیر گروه بین‌المللی کسب و کار ساکوراد با بیش از ۲۰ سال تجربه بعنوان کوچ، مدرس، مشاور و منتور در حوزه‌های مختلف راه‌اندازی و توسعه کسب‌وکار در ۱۵ کشور جهان هستم. در تلاشم تا تجربیات ذی‌قیمت خود را با شما دوستان عزیزم به اشتراک گذارم.
پیشنهاد بر اساس سلیقه شما
آموزش SQL

آموزش زبان SQL | دستور RIGHT JOIN

دستور RIGHT JOIN در SQL  خروجی دستور RIGHT JOIN در اسکیوال از از جدول سمت راست انتخاب میشود، حتی اگر هیچ رابطه ای با  جدول چپ نداشته باشد. ساختار دستور right join به صورت زیر است

ادامه مطلب »

مسیریابی تحصیلی - شغلی (آنلاین)

تست شغلی به آزمون روانشناسی گفته می شود که فرد با توجه به پاسخگویی به سوالات در انتها بهترین شغلی که می تواند در آن موفق باشد را معرفی می کند.

سئوالات و نظرات ارزشمند خود را با ما مطرح کنید

دیدگاهتان را بنویسید

راهنمای گام به گام تا دریافت مشاوره

گام اول

انتخاب حوزه تخصصی مدنظر

گام دوم

بررسی رزومه مشاوران مرتبط

گام سوم

انتخاب مشاور با تخصص مدنظر

گام چهارم

تکمیل فرم و ثبت درخواست

گام پنجم

پرداخت حق‌الزحمه مشاور

گام ششم

تماس با شما برای تعیین وقت

گام هفتم

برقراری ارتباط شما با مشاور