رفتن به مطلب

آموزش مدیریت خطا در php


lion

پست های پیشنهاد شده

مدیریت خطاهای احتمالی در کدها و اسکریپت های PHP ساده و روان است . در حالت پیش فرض یک پیام خطا همراه با نام فایلی که خطا در آن رخ داده ، شماره خط خطا و پیامی که تشریح کننده خطا است ، به مرورگر ارسال می شود .

 

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

 

در زمان نوشتن اسکریپت ها و برنامه های تحت وب ، مدیریت خطا یک بخش مهم به حساب می آید . اگر کد شما ، نقص مدیریت خطا داشته باشد ، برنامه طراحی شده بسیار مبتدی به نظر آمده و خطراتی ممکن است آن را تهدید نماید .

در این بخش مهمترین و پرکاربردترین متدهای مدیریت خطادر PHP را بررسی می کنیم ، که عبارتند از :

 

تابع ساده ( ) die .

برخورد با خطاهای گوناگون و فعال کننده های خطا .

گزارش دهی خطا .

 

ساده ترین روش مدیریت خطا در PHP - تابع ( ) die :

 

نحوه کار با تابع ( ) die را با یک مثال ساده نمایش می دهیم .

کد زیر یک مثال ساده را نشان می دهد که یک فایل متنی را باز می کند :

 

 

< ? php    $file = fopen( "welcome.txt" , "r" ) ; ? >

 

 

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

 

 

Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:No such file or directory in C:\webfolder\test.php on line 2

 

 

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

 

 

< ? php     if( !file_exists( "welcome.txt" ) )        {            die("File not found");        }    else      {           $file = fopen( "welcome.txt" , "r" ) ;      }? >

 

 

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

 

 

File not found

 

 

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

در بخش بعدی ، بخش طراحی مدیریت کننده خطا ها در PHP به تشریح روش های حرفه ای تر خواهیم پرداخت .

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...