Handler (مدیر خطا) پیش فرض PHP بسیار کارآمد است اما صرفا فقط از بروز خطا ما را با خبر می سازد و در مواجهه با یک خطا عمل دیگری انجام نمی دهد. اما خوشبختانه این تمهید که در PHP شما بتوانید خطاها را خودتان مدیریت کنید دیده شده است و تابع set_error_handler به این منظور نوشته شده است
Set_error_handler($error_handler) ;
این تابع فقط یک آرگومان دارد که این آرگومان نام تابعی است که شما برای به دست گیری و مدیریت خطا می نویسید.
توجه : در صورتی که از عدد 0 به عنوان آرگومان تابع فوق استفاده شود بدست گیری و مدیریت خطا به حالت پیش فرض PHP باز می گردد.
set_error_handler(0) ;
برای این که بیشتر ملموس باشد مثالی می زنم:
<?phperror_reporting(E_ALL);function my_error_handler($number, $string, $file, $line){ echo ("Error ($number) on line $line in file $file. The error was \"$string\"\n") ; // You Can do Any Code Here Like Error Logging Or e-mail The error to a email address or ...}ini_set('display_errors',0);set_error_handler("my_error_handler");$mysky = fopen('file1',1024);?>
در ضمن توی PHP5 میشه از try و catch هم استفاده کرد.
راه های دیگری هم وجود دارد:
توی php.ini می تونیم display_errors با off تنظیم کنیم. یا می تونیم از:
error_reporting(0);
منبع: برنامه نویس
برای اطلاع بیشتر به سایت رسمی php مراجعه کنید:
http://www.php.net/manual/en/ref.errorfunc.php