chris smith wrote: > On 7/6/06, Martin Marques <martin@xxxxxxxxxxxxxxx> wrote: >> On Wed, 5 Jul 2006, php@xxxxxxxxxxxxxxx wrote: >> >> > Hello all, >> > >> > According to the PHP Manual, when require or require_once failes, an >> > E_ERROR is triggered: "require() and include() are identical in >> every way >> > except how they handle failure. include() produces a Warning while >> > require() results in a Fatal Error." (With 'Fatal Error' being a >> link to >> > E_ERROR). >> > >> > Thing is, when using a custom error handler via set_error_handler(), it >> > appears to be triggering an E_WARNING, not an E_ERROR. Using PHP 5.1.4 >> > under Linux. >> > >> > There are one of three possibilities: I am suffering from a lapse in >> > lucidity (common), the manual is wrong (possible), or PHP is broken >> > somehow (unlikely). I'm guessing it's the first, but what am I doing >> > wrong? I'd like to get a second opinion before submitting a bug. I >> > searched bugs.php.net but was unable to find anything relevant for >> 5.1.4. >> > >> > Code: >> > function default_error_handler($code, $error, $file, $line) { >> > switch ($code) { >> > case E_ERROR: >> > die ("Error: $error"); >> > case E_WARNING: >> > die("Warning: $error"); >> > default: >> > die("Something else entirely: $error"); >> > } >> > } >> >> What happens if you put breaks after the die()? This shouldn't be >> necesary, but it wouldn't hurt to try. ;-) >> >> As I see in the example of the PHP manual, a break is put even after an >> exit(1) call. >> >> > set_error_handler('default_error_handler'); >> > require('This file does not exist. At least not here!'); >> >> Have you tried this handler with something more fatal, like a missing >> semi-colon or a } missmatch? > > That will cause a parse error and the script won't even run. try it with a call to an undefined function e.g.: $foo = thisFunctionDoesNotExistAtLeastItHadBetterNot(); > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php