آشنایی با انواع خطاها در برنامه نویسی php
انواع خطاها در php
PHP یک زبان اسکریپتی سمت سرور برای پیاده سازی و توسعه وب سایتهای پویا و یکی از محبوبترین زبان های موجود بین برنامه نویسان محسوب میشود . با استفاده از این زبان برنامه نویسی سایت های زیادی پیاده سازی شده اند. در هنگام طراحی و کدنویسی یک وب سایت، اگر کامپایلر نتواند کدی که نوشتید را به زبان ماشین ترجمه کند و یا درهنگام ترجمه و اجرا برنامه دچار اختلال شود و یا به هر دلیل دیگر از عملگر ها گرفته تا قواعد کد نویسی که منجر به بروز مشکل و عدم اجرای صحیح برنامه می شود با اخطار و ارور مواجه می شوید.
در این مقاله به بررسی و توضیح انواع خطاها و ارورها در php می پردازیم.
۱- Notices
این نوع خطا بیشتر جنبه هشدار و جلب توجه دارد و مانع از اجرای ادامه دستورات نمی شود. به عنوان مثال دسترسی به متغیری که هنوز آن را تعریف نکرده اید باعث بروز چنین خطایی خواهد شد.
در این مثال چون متغیر b را تعریف نکردهایم با ارور Notice مواجه میشویم.
Warning -2
این خطا هیچ اختلالی در اجرای ادامه کد های php ایجاد نمی کند.زمانی با این خطا مواجه میشوید که تعداد پارامتر یک تابع را به درستی تعیین نکنید. یا مثلا عددی را تقسیم به صفر کنیم . این خطا نیست در واقع هشداری است که به برنامه نویس می دهد و اعلام از غیر منطقی بودن عبارت و نتیجه می نماید که برنامه نویس بسته به نوع برنامه میتواند آن را نادیده و یا به رفع آن اقدام نماید.
در مثال بالا برنامه اجرا میشود ولی اخطار تقسیم بر صفر برابر بینهایت را نیز نشان میدهد.پس خطا ایجاد میشود ولی تابع echo بدون هیچ مشکلی اجرا شده است .در برخی برنامه ها این عملیات ها امری طبیعی است و و مشکلی برای روند برنامه ایجاد نمیکند.
۳- Parse Error
این نوع خطا که به Syntax error نیز معروف است به دلیل اشتباه نحوی در نوشتن دستورات رخ می دهد.مثلا یک سیمیکالن (;) نگذاشته باشید و یا دچار یک اشتباه تایپی شده باشید ،یا یکی از آکولاد ها را نبندید ،این خطاها نیز از ادامه اجرای برنامه جلوگیری میکند.برای رفع این مشکل خط مربوط به خطا را بررسی کرده و مشکلات تایپی آن که بیشتر شامل ، ;() {} . و…میباشد را برطرف کنید و برنامه را اجرا کنید.
دراین مثال به دلیل قرارندادن سیمیکالن (;) در آخردستور اول با این خطا مواجه میشوید.
۴- Fatal Error
این نوع خطا که به خطای مهلک یا خطای بحرانی معروف است ، وقتی اتفاق بیفتد از اجرا شدن مابقی برنامه جلوگیری میکند.برای مثال فراخوانی یک کلاسی که اصلا وجود ندارد.
در این حالت صفحه سفید به همراه خطا مشاهده می شود.
دراین مثال چون php نتوانسته است تابع ()method را پیدا کند،با این نوع خطا مواجه شده است. توابعی که در php وجود ندارد باید تعریف و سپس فراخوانی شود در غیر این صورت با ارور Fatal error مواجه می شوید.
۵- Deprecated Erorr
این قابلیت از نسخه ۵ به PHP اضافه شده است. این خطا در واقع یک راهنما است که به شما اطلاع میدهد که دستوری و قطعه کدی که در PHP استفاده کرده اید در نسخههای بالاتر PHP منسوخ و حذف شده و شما باید تا قبل از به روز کردن به نسخه بالاتر به فکر جایگزین برای آن باشید.
طبیعی است در صورت عدم توجه به این خطا ها و یا نادیده گرفتن آن ها اگر هم سایت کار کند با کندی و پرکردن لاگ های سرور و سایت به همراه خواهد بود.
پس خاموش کردن نمایش خطاها درست است که برای امنیت لازم و ضروری به نظر می رسد
اما اگر باعث شود خطای کد سایت خود را نادیده بگیریم در واقع صورت مسئله را پاک کرده ایم.