What I have now doesn't work, and I'm not entirely sure why (I know
it's crappy code, but error handling is a black box indeed, plus this
is for a prototype CSS framework, so I'm not being picky):
> <?php
> $errors = "<table class='phpError'>"
> . "<tr><th>Level</th><th>Error</th><th>File</th><th>Line</th></tr>";
> $errorCount = 0;
>
> function golondrinaErrors($number, $string, $file, $line) {
> global $errors;
> global $errorCount;
> $errorCount++;
> $errors .= "<tr><td>" . $number . "</td>"
> . "<td>" . $string . "</td>"
> . "<td>" . $file . "</td>"
> . "<td>" . $line . "</td>"
> . "</tr>";
> return true;
> }
> if($errorCount > 0) {
> $errors .= "</table>";
> echo $errors;
> }
>
> set_error_handler('golondrinaErrors');
What this code seems to do is:
1. Set error count to zero
2. Print errors if error count is greater than zero
3. Tell PHP to user your custom error handler
4. Increase the error count when new errors found
You'd need to move the "print errors" part to the end of your script so
it has the chance of catching some errors before printing them.
Also, be aware that your error handler doesn't honor the @ operator and
it never aborts the script no matter the error type (might be what you
want or not).
--
-- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programación web: http://bits.demogracia.com
-- Mi web de humor al baño María: http://www.demogracia.com
--
Thomas
On Oct 8, 11:05 am, "Álvaro G. Vicario"
> --http://alvaro.es- Álvaro G. Vicario - Burgos, Spain