خطاها در PHP - نسخهی قابل چاپ +- انجمن عمومی گسترش فناوری آگو (http://forums.ago.ir) +-- انجمن: انجمن های عمومی گسترش فناوری آگو (/forumdisplay.php?fid=1) +--- انجمن: برنامه نویسی (/forumdisplay.php?fid=13) +--- موضوع: خطاها در PHP (/showthread.php?tid=2221) |
خطاها در PHP - agotd - 12-05-2013 04:40 PM در هنگام کار با PHP ممکنه به چند نوع خطا برخورد کنید.این خطا ها براساس زمانی که اتفاق میافتن و اینکه آیا این خطاها درست شدنی هستن یا خیر دسته بندی میشن.این خطاها ممکنه به صورت خودکار توسط خود php اجرا بشن یا با استفاده از تابع trigger_error به وسیله کاربر اجرا بشن!! خطاها زمانی رخ میدن که کار اشتباهی رو در کدهامون کرده باشیم.کارهایی مثل : اشتباه تایپی! ، حلقه های بی نهایت و … اجازه بدید تا با دسته بندی خطاها در PHP آشنا بشیم : Fatal error Parse error Warning Notices 1- Fatal Error این نوع از خطاها که به خطاهای بحرانی هم معروفه باعث میشه که ادامه کار برنامه با مشکل مواجه شه یعنی نمیذاره بقیه برنامه اجرا بشه.بر اساس زمانی که این نوع خطا رخ میده به دسته های زیر تقسیم میشه : Startup fatal error : این نوع خطا زمانی رخ میده که کدهای PHP نمیتونن اجرا بشن و مشکل از نصب یا تنظیمات PHP میتونه باشه. Compile time fatal error : این خطا هنگامی رخ میده که از داده هایی استفاده کردید که وجود ندارن مثل فایلها ، توابع و کلاسها و … . Run time fatal error : این خطا مثل خطای قبلی که هنگام کامپایل برنامه رخ میده. نمونه ای از خطای Fatal Error کد php: <?php هنگام اجرای کد بالا به خطای زیر برمیخوریم که میگه کد php: Fatal error: Call to undefined function fnSwap() in ... on line 2 تابع fnSwap رو نتونسته پیدا کنه. ۲ – Parse Error نوع دوم خطاها Parse Error ها هستند.این نوع خطاها فقط در زمان اجرای برنامه تولید میشن و اسم دیگه این نوع خطاها Syntax Error هستنش.یعنی توی کدهامون اشتباه تایپی داشتیم یا مثلا آخر خط سمی کالن نذاشتیم و …. این خطا هم از اجرای بقیه برنامه جلوگیری میکنه و باید درستش کنید. کد php: <?php این کد به خاطر نذاشتن سمی کالن در انتهای خط اول خطا میده : کد php: Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ',' or ';' in ... on line 3 3- Warning این نوع از خطاها هم مثل Fatal Error در سه نوع دسته بندی زمانی قرار میگیره : Start up warning Compile time warning Run time warning این نوع خطاها توسط PHP به کاربر نمایش داده میشه اما مانع از اجرای بقیه برنامه نمیشه.مثلا کد زیر وقتی یک عدد رو بر صفر تقسیم میکنیم یک Warning دریافت میکنیم. کد php: <?php اگر کد بالا رو اجرا کنید میبینید که یک Warning در صفحه مثل زیر نمایش داده میشه : کد php: Warning: Division by zero in ... on line 4 اما همینطور که میبینید بقیه کدها اجرا شدن و مانع از اجرای برنامه نشده. ۴ – Notice این نوع هم مثل انواع خطاهای قبلی میتونه خودکار توسط خود PHP درست بشه یا با استفاده از تابع trigger_error توسط کاربر ایجاد شه.به این نوع نیمشه گفت خطا و بیشتر اطلاعاتی رو به کاربر میدن که کاربر از وجود مشکلی باخبر کنن که این مشکل ممنکه به یک خطا ختم بشه!!!!!!!!!!! به عنوان مثال کد زیر مقدار متغیری رو یکی اضافه میکنه که مقدار اولیه نداره.اما همینطور که میبینید برنامه به خوبی اجرا میشه و مقدار متغیر یکی اضافه میشه. کد php: <?php و خطای ایجاد شده : کد php: Notice: Undefined variable: result in ... on line 2 |