مدیریت خطاهای احتمالی در کدها و اسکریپت های PHP ساده و روان است . در حالت پیش فرض یک پیام خطا همراه با نام فایلی که خطا در آن رخ داده ، شماره خط خطا و پیامی که تشریح کننده خطا است ، به مرورگر ارسال می شود.
حتما بخوانید: مرجع توابع مدیریت خطا در 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 |
حتما بخوانید: طراحی مدیریت کننده خطاها ( Error Handler ) در PHP
برای جلوگیری از صدور پیام خطایی مشابه پیام فوق ، کدی را طراحی می کنیم تا ابتدا وجود یا عدم وجود فایل مورد نظر را بررسی کرده و سپس دستور مناسب را اجرا نماید :
کد تابع ( ) die |
< ? php if( !file_exists( “welcome.txt” ) ) { die(“File not found”); } else { $file = fopen( “welcome.txt” , “r” ) ; } ? > |
حال اگر در باز کردن فایل مورد نظر ، خطایی رخ دهد ، به جای پیام طولانی فوق ، پیام ملموس و کوتاه زیر نمایش داده می شود :
پیام خطای جدید | File not found |
البته لازم به ذکر است که روش فوق برای خطاهای معمولی قابل استفاده بوده و در موارد مهمتر باید از مدیریت کننده های خطاهای پیشرفته تر استفاده نمود.
با دریافت « مشاوره برنامهنویسی، وب و سئو » از کارشناسان جوان حرفهای و باتجربه ساکوراد؛ موفقیت کسب و کار، رونق فروش و افزایش درآمد خود را تضمین کنید!
و اما کلام آخر…
مدیریت صحیح خطاها و استثناها در PHP نه تنها به عیبیابی کمک میکند بلکه تجربه کاربری بهتری را نیز فراهم میآورد. با استفاده از توابعی مانند set_error_handler()
و ساختارهای try/catch
، میتوانید کنترل بیشتری بر روی رفتار برنامه خود داشته باشید و اطلاعات مفیدی را برای شناسایی مشکلات جمعآوری کنید.