کنترل خطاها در php

PHP

توسط reza-irdev در 6 سال پیش
0 1k 2 6 سال پیش
reza-irdevbillltscriptgt
0

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
0

سلام من همینکارو کردم ولی بازم خطا رو نمایش میده؟

0

> سلام من همینکارو کردم ولی بازم خطا رو نمایش میده؟
سلام اینو بذار ببین درست میشه؟
ini_set('display_errors', '0')

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.

لطفا ابتدا لاگین کنید