مدیریت خطا در php بسیار ساده است

زمانی که شما برنامه php را می نویسید اگر این برنامه اشکالی داشته باشد در مرورگر خود به جای مشاهده اجرای برنامه تان پیام خطایی مشاهده خواهید کرد . این پیام خطامعمولا شامل نام فایل ، شماره خطی که خطا دارد و پیامی کوتاه که خطای رخ داده شده را گزارش می دهد می باشد

تابع 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
 اما همیشه این امکان برای ما وجود ندارد که حالتهایی که ممکن است خطایی رخ دادهشود از قبل مهار کنیم بلکه باید راه حل دیگری برای مدیریت خطاهایی که در زمان اجرای صفحه وب ما پیش می اید وجود داشته باشد
 یکی از این راه حل ها این است که بگوئیم اگر خطایی در برنامه مان رخ داد ، تابعی فراخوانی شود
تابع error_function
 این تابع دارای دو پارامتر اجباری و سه پارامتر اختیاری است
 روش استفاده از این تابع
error_function(error_level,error_message,error_file,error_line,error_context)
 اشنایی با پارامترهای این تابع :
  •  error_level : استفاده از این پارامتر اجباری است . سطح خطا که یک عدد است در خود دارد 
  •  error_message : استفاده از این پارامتر اجباری است . پیام خطایی است که رخ داده است
  •  error_file : پارامتر اختیاری است . نام فایل php را نشان می دهد که در ان خطا رخ داده است
  •   :error_line : پارامتر اختیاری است . شماره خطی از برنامه ما است که در ان خط خطایی رخ داده است
  •  error_context : پارامتر اختیاری است . ارایه ای از متغیرهای گوناگون است که مقادیر این متغیرها در بردارده مواردی در باره خطای رخ داده شده هستند
آشنایی با انواع سطح خطا
 انواع خطا ها وجود دارد
  • عدد 2 یا ثابت E_WARNING  :خطایی که زیاد مهم نیست و اجرای برنامه را متوقف نمی کند
  •  عدد 8 یا ثابت E_NOTICE :برنامه مواردی را پیدا می کند که ممکن است باعث بروز خطا شوند 
  •  عدد 256 یا ثابت E_USER_ERROR :خطای مهم . که توسط برنامه نویس توسط تابع trigger_error کنترل می شود 
  •  عدد 515 یا ثابت E_USER_WARNING : خطایی که زیاد مهم نیست و برنامه نویس می تواند توسط تابع trigger_error انرا کنترل نماید
  •  عدد 1024 یا ثابت E_USER_NOTICE : خطایی که توسط کاربر رخ می دهد و برنامه نویس می تواند توسط تابع trigger_error انرا مدیریت نماید
  • عدد 4096 یا ثابت E_RECOVERABLE_ERROR : ....
  • عدد 8191 یا ثابت E_ALL : تمام خطاها
حالا اجازه دهید تا با نوشتن تابعی خطا را مدییت کنیم
function customError($errno, $errstr)
  {
  echo "<b>Error:</b> [$errno] $errstr<br>";
  echo "Ending Script";
  die();
  }
 تابع بالا یک برنامه ساده است . وقتی خطایی رخ داد ، این تابع دو مقدار شماره سطح خطا و پیام خطا را در دوپارامتر خود یعنی $errno, $errstr دریافت می کند
سپس پیامی را نمایش می دهد و اجرای برنامه را با دستور die پایان می بخشد
اطلاعات این صفحه کامل نیست