در زبان های برنامه نویسی اگر کامپایلر نتواند کدی که نوشتید را به زبان ماشین ترجمه کند و یا در هنگام ترجمه و اجرا به دلیل مشکلات محاسباتی و منطقی برنامه دچار اختلال شود و به هر دلیل دیگر از عملگر ها گرفته تا قواعد کد نویسی که منجر به بروز مشکل و عدم اجرای صحیح برنامه می شود با اخطار و ارور مواجه می شویم.
در این مقاله میخواهیم ارور ها و اخطار ها و هشدار های مربوط به php را شرح و روش برطرف کردن آن هارا توضیح دهیم.
1-Fatal error
که به خطای مهلک یا خطای بحرانی معروفه وبعد از این خطا برنامه ادامه پیدا نمیکند ومی ایستد
<?
Method();
echo "ok";
?>
اگر کد بالارو اجرا کنیم با خطا مواجه میشیم چون پی اچ پی نتونسته تابع method پیدا کنه در اصل تابع متدی هم تعریف نکردیم . توابعی که در php وجود ندارد باید تعریف و سپس فراخوانی شود در غیر این صورت با ارور Fatal error مواجه می شویم.
2-parse error
این خطا که معروف به syntax error هم هست زمان اجرای برنامه مشخص میشه و زمانی رخ میدهد که یک سیمیکالن (;) نگذاشته باشیم و یا دچار یک اشتباه تایپی شده باشیم این خطا نیز از ادامه اجرای برنامه جلوگیری میکند.برای رفع این خطا ، خط هایی که ارور مشخص میکند را بازیابی و مشکلات تایپی که عموما شامل ; ، () ، : و... می باشد را برطرف و برنامه را run کنید.
<?
echo "php error"
echo "php is Excellent”;
?>
در کد بالا خطا به این دلیل بوجود می آید که در آخر کد اول سیمیکالن (;) نگذاشته ایم.
3-Warning
این نوع خطاها مانع از ادامه اجرای برنامه نمیشوند وزمانی بوجود می آیند که مثلا عددی را تقسیم به صفر کنیم . این خطا نیست در واقع هشداری است که به برنامه نویس می دهد و اعلام از غیر منطقی بودن عبارت و نتیجه مینماید که برنامه نویس بسته به نوع برنامه میتواند آنرا نادیده و یا به رفع آن اقدام نماید.
<?
$x =200;
$y =0;
$z = $x/$y;
echo "result: " . $z;
?>
در مثال بالا برنامه اجرا میشود ولی اخطار تقسیم بر صفر برابر بینهایت را نیز نشان میدهد که با توجه به برنامه میتوانید نسبت به رفع یا نادیده گرفتن آن اقدام نمایید.در برخی برنامه ها این عملیات ها امری طبیعی و مشکلی برای روند برنامه ایجاد نمیکند.
Notices -4
این نوع اخطار هم مثل انواع خطاهای قبلی می تواند خودکار توسط خود PHP و یا با استفاده از تابع trigger_error که توسط کاربر ایجاد شده است درست شوند. این نوع خطا بیشتر هشداری است و برنامه نویس را از عملکرد توابع و کدهای نوشته شده آگاه میسازد.
<?php
$x += 1;
echo "RESULT: ". $x;
?>
trigger_error-5
این تابع از خطاهای احتمالی را پیشبینی میکند و از ایجاد اشکال در روند برنامه جلوگیری میکند.به عنوان مثال به کد های زیر توجه فرمایید:
<?php
$test=2;
if ($test>1)
{
trigger_error("Value must be 1 or below");
}
?>
با تو جه به کد بالا اگر متغیر از 1 بیشتر باشد برنامه باید تابع trigger_error که شامل خطای
Notice: Value must be 1 or below
in C:\webfolder\test.php on line 6
است را اجرا نماید.همان طور که مشاهده مینمایید در کد بالا از هشدار Notices استفاده شده است در واقع جواب تابع هشدار Notices است که با متن تعریف شده نمایش داده میشود.
6- Deprecated error
این قابلیت از نسخه 5 به PHP اضافه شده است. این خطا در واقع یک راهنما است که به شما اطلاع میدهد که دستوری - فانکشن و قطعه کدی که در PHP استفاده کرده اید در نسخههای بالاتر PHP منسوخ و حذف شده و شما می بایست تا قبل از به روز کردن به نسخه بالاتر به فکر جایگزین برای آن باشید معمولا با یک جستجوی ساده در سایت PHP میتوانید معادل جدید آن را پیدا کنید.
طبیعی است در صورت عدم توجه به این خطا ها و یا نادیده گرفتن آن ها اگر هم سایت کار کند با کندی و پرکردن لاگ های سرور و سایت به همراه خواهد بود.
خطاهایی که اغلب در حین برنامه نویسی به آنها برمیخورید از این دسته اند که با دانستن مفهوم خطا میتوانید به راحتی به رفع آن بپردازید علاوه بر این که ادیتور هایی مانند دریم وی ور خود دارای یک خطایاب قدرتمند است که شمارا به خط خطا راهنمایی و مثال هایی برای اصلاح و برطرف کردن آن برای شما در ادامه ی خط خطا می آورد تا شما بتوانید آنرا اصلاح نمایید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید