آموزش PHP (بخش ششم) پیغام های خطا

- visibility ٢١ mode_comment

در این بخش شما را با پیغام های خطا در PHP آشنا خواهیم ساخت. پیغام های خطا جزئی از یادگیری PHP هستند ، پس سعی کنید پیغام های خطا را یاد بگیرید تا بتوانید یک برنامه را به اصطلاح Debug نمائید.

هر پیغام خطا در زبان php از سه قسمت تشکیل شده است :

پیغام های خطا در PHP

همانطور که شکل فوق را مشاهده نمودید ، هر پیغام خطا از 3 قسمت تشکیل شده است ، به عنوان مثال پیغام فوق را مشاهده نمائید ، خوب اگر شما تازه کار باشید فکر می کنید که این پیغام خطا در خط 3 به وجود امده است و این پیغام شما را مجبور می کند که فقط خط 3 را نگاه بکنید ولی اینگونه فکر کردن درباره نمایش پیغام خطا کاملا اشتباه است . PHP وقتی می گوید که مثلا پیغام خطا در خط 3 به وجود امده است منظور این است که مشکل پیش آمده  قبل از خط 3 می باشد (یعنی می تواند بین خطوط 1 تا 3 باشد) .

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

  • Fatal Error: این نوع خطا که بسیار جدی می باشد معمولا وقتی رخ می دهد که شما فایل یا تابعی را فراخوانی کرده اید که وجود نداشته باشد . مثلا کد زیر این نوع خطا را برای شما نمایش می دهد :

همانطور که ملاحظه نمودید ما یک تابعی را فراخوانی نمودیم که قبلا تعریف نشده است .

  • Recovable Error : این پیغام خطا زمانی رخ می دهد که استثنا خاص تولید شود که معمولا برای جلوگیری از این نوع خطاها ، کدها را در یک قطعه try و catch قرار می دهند که بعدا توضیح خواهیم داد.
  • Parse Error : این خطا وقتی رخ می دهد که اشتباه شما گرامری باشد مثلا اشتباه در نمایش دادن کوتیشن مانند قطعه کد زیر :

  • Warning : این خطا، جدی ترین نوع خطاها می باشد مثلا یک فایل گم شده باشد ولی آنقدر شدید نیست که مانع از اجرای کدهای دیگر شود.
  • Deprecated : این نوع خطا از php نسخه 5 به بعد ارائه شد ، و می توان گفت که این نوع به طور مستقیم یک پیغام خطا نیست بلکه نصیحت است ، یعنی به شما نصیحت می کند که بهتر است از این کد استفاده نکنید چون  اگر سرور شما در آینده اپدیت شود ، دیگر این کد کار نمی کند (در حقیقت کدهای منسوخ شده را به شما اطلاع می دهد).
  • Strict : این نوع خطا نیز همانند یک پیرمرد نصیحت دهنده عمل می کند و به شما اعلام می کند که شما تکنیک درستی را اعمال نکرده اید (به قول خودمون ، لقمه رو دور سرت نپیچ).
  • Notice : این نوع خطا اهمیت چندان زیادی ندارد ولی بهتر است انها را برطرف نمائید و اصلا باعث ایجاد اختلال در اجرای برنامه نمی شوند مثلا شما از متغیری استفاده نموده اید که از قبل اعلان نشده باشد .

حال شما با انواع خطاها در php آشنا شدید ، حال وقت آن است که شما بتوانید اگر خطایی به وجود آمد آن ها را مدیریت کرده و چاره ای برای آنها بیندیشید :

اداره کردن استثناها :

php نیز همانند زبان های برنامه نویسی دیگر مثل سی شارپ یک روش فوق العاده جذاب برای اداره کردن خطاها ارائه نموده است و آنهم استثنا یا Exception نام دارد .

تعریف یک Exception بدین گونه می باشد :

در قطعه کد فوق مثلا ما گفته ایم که اگر path ما دارای آدرس نادرستی بود یا اینکه توجه کنید یا اینکه قابل خواندن نبود ، یک استثنا ایجاد نماید . اما ما اینجا فقط استثنا را ایجاد نمودیم اما برای مدیریت این استثنا باید از دستورات try و catch استفاده نمائید ، اما شاید تا به حال فکر کنید که این کار چه فایده ای دارد ؟؟؟ برای پاسخ به این سوال ، من یک سوال طرح می کنم و خودم هم جواب آن را خواهم داد:

فرض کنید یک فایلی گم شده است و صفحه مورد نظر به آن فایل احتیاج محض دارد ، حال اگر این صفحه باز شود یک خطای مرگ بار را نمایش می دهد و کاربری که این خطا را مشاهده می کند قطعا (شک نکنید!) از سایت شما فرار می کند ، حال شما باید چه کنید ؟؟؟

برای اینکار شما با استفاده از یک استثنا ، به موتور php دستور می دهید که قطعه اصلی کد شما را اجرا نکند و و قسمت تنها قطعه کد Catch را اداره کند که این قطعه کد می تواند هدایت کاربر به صفحه ای دیگر باشد.

تعریف try و catch :

info نکته :

نام متغیر می تواند هر چیزی باشد ولی نام e یک استاندارد بین برنامه نویسان می باشد.

info نکته :

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

در قسمت بعدی آموزش شما را با حلقه ها و شرط ها آشنا خواهیم ساخت .

comment دیدگاه کاربران
mch@

تشکر میلاد جان
عالی بود

میلاد حیدری

خواهش میکنم همکار عزیز

لقمان آوند

کارت خیلی درسته میلاد جان . واقعا که خوب می نویسی . معلومه که php رو اصولی بلدیااا …

میلاد حیدری

درس پس میدیم…

sasha

سلام.
چند جا در مورد سایت و نویسندگان و محتوا گفتم و نیازی نیست دوباره بگم که :
واقعا دست مریزاد. عالیه خسته نباشید و اجرکم عندالله

😆 _خوب شد نگفتم ها_

ولی از شوخی گذشته واقعا گلی به جمالت.
همچنان منتظر آموزشهای بعدی هستم.

فقط خداییش اون فوت آخری ها رو هم بگین. جای دوری نمی ره.
یا علی

sasha

سلام.
خب دوست عزیز نیک و پرسش؟
من مشتاقانه منتظر لینک دانلود هستم.
اینم ایمیلم:
sasha.shahsavar59@yahoo.com

یا علی

najmeh

سلام
منم بدم نمیاد این کتابو دانلود کنم.
اینم میلم:
najmeh_sam@yahoo.com

سجاد دریس

سلام. اینم لینک دانلود کتاب

hajar

سلام
از همه ی کسانی که زحمت میکشن واسه این مطالب کمال تشکر رو دارم
اگه زحمتی نیست کتاب و واسه من هم میل کنین

سجاد دریس

سلام. بفرمائید اینم لینک دانلود کتاب

mahyar

سلام.. میشه لطفا این کتاب رو برای من بفرستید؟!!!
mahyarglobal@yahoo.com
منتظرم و ممنون

سجاد دریس

سلام.
بله اینم لینک دانلود کتاب

atefe

سلام
ممنون میشم اگه فایل pdf رو برای منم بفرستید
اینم ایمیلم
arven.1991@yahoo.com
بازم ممنون

سجاد دریس

سلام. اینم لینک دانلود کتاب آموزش php

عباس بهرامی کیا

سلام آقای دریس اگه امکانش هست این کتاب رو هم واسه من بفرستید با تشکر

Bahrami222@gmail.com

سجاد دریس

لینک دانلود آموزش زبان PHP :
سلام. اینم لینک دانلود کتاب
نام کتاب الکترونیکی: آموزش زبان PHP
نویسنده: مجتبی اسکندری
جمع آوری: قاسم آقابابایی
تعداد صفحات:‏ 134 صفحه
حجم:‏ 1.5 مگابایت

vandad

سلام لینک برای من کار نمیکنه

سجاد دریس

سلام.
به این صفحه مراجعه کنید

sepideh_yekta

salam man kheyli be chenin ketabi niaz daram age momkene bara manam email konid .emailam:na30m137099@yahoo.com
age momkene zud befrestin

سجاد دریس

سلام.
به این صفحه مراجعه کنید

قاسم

سلام داداش تو بچه شمسی پور نیستی ؟

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.