Re: Intercepting errors (skip)
| From: | It Maq | Date: | Thu, 13 Mar 2008 15:53:52 +0000 |
| Subject: | Re: Intercepting errors (skip) | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-271516@lists.php.net to get a copy of this message | ||
sorry i just forgot to print the results. It 's my mistake
----- Original Message ----
From: It Maq <itmaqurfe@yahoo.com>
To: php-general@lists.php.net
Sent: Thursday, March 13, 2008 11:22:36 AM
Subject: Re: [PHP] Intercepting errors
I already read th page of the manual, but i still don't understand a lot of things. Below you
will find a simple code that i ade for understanding more about this. In the code i'm
triggering an error of type "E_USER_ERROR", so now i'm wondering why it is not
considered as E_USER_ERROR in set_error_handler(). And if somebody can suggest an error (something
real not just trigger_error) that can be intercepted by set_error_handler(), this will be very
useful.here is the code:
<?php
function error_handler($errno, $errstr, $filename, $lineno, &$context)
{
echo $errno. "<br>";
echo $errstr. "<br>";
switch($errno) {
case E_USER_ERROR:
$str = "";
$str = "ERROR MESSAGE: ". $errstr;
$str .= "<br>The application will be stopped just after the following
error message:<br>";
$str.= "<br>File: ". $filename;
$str.= "<br>Line number: ". $lineno;
$GLOBALS['toto'] = $str;
//return $GLOBALS['error'];
break;
case E_USER_WARNING:
echo "ERROR MESSAGE: ". $errstr;
echo "<br>The application will continue but there is a
warning:<br>";
echo "<br>File: ". $filename;
echo "<br>Line number: ". $lineno;
break;
case E_USER_NOTICE:
echo "ERROR MESSAGE: ". $errstr;
echo "<br>The application will continue but there is a
notice:<br>";
echo "<br>File: ". $filename;
echo "<br>Line number: ". $lineno;
break;
}
}
echo "Testing set_error_handler<br><br><br>";
error_reporting(E_USER_ERROR|E_USER_WARNING|E_USER_NOTICE);
set_error_handler('error_handler');
ini_set('error_reporting', 0);
trigger_error("The string for testing the error", E_USER_ERROR);
?>
----- Original Message ----
From: Richard Heyes <richardh@phpguru.org>
To: It Maq <itmaqurfe@yahoo.com>
Cc: php-general@lists.php.net
Sent: Thursday, March 13, 2008 11:00:30 AM
Subject: Re: [PHP] Intercepting errors
> I'am already using that. When i call trigger_error the function set
> in set_error_handler handles the error. but now i don't know if this
> will handle all the other errors that i don't know about in case they
> happen. Is there anyway to test that?
Read the manual page. I believe it handles all except things like parse
errors:
"The following error types cannot be handled with a user defined
function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING,
E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the
file where set_error_handler() is called."
Oh and Stephane: this is a mailing list. If you want off you can go to
http://www.php.net.
--
Richard Heyes
Employ me:
http://www.phpguru.org/cv
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs