From e6c549236801a7e8bf01c4d9cc3a3a2b730bd5ce Mon Sep 17 00:00:00 2001 From: moodler Date: Wed, 13 Sep 2006 08:23:30 +0000 Subject: [PATCH] Added a simple moodle_error_hendler function I'm playing with --- lib/weblib.php | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/lib/weblib.php b/lib/weblib.php index 9c7a5577ae..a35301a5b2 100644 --- a/lib/weblib.php +++ b/lib/weblib.php @@ -5217,6 +5217,41 @@ function page_doc_link($text='', $iconpath='') { return $str; } +function moodle_error_handler($errno, $errstr, $errfile, $errline) { + global $CFG; + + switch ($errno) { + case E_USER_ERROR: + if ($CFG->debug > E_USER_ERROR) { + echo "FATAL ERROR: [$errno] $errstr
\n"; + echo " Fatal error in line $errline of file $errfile"; + echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")
\n"; + echo "Stack trace...
\n"; + if (function_exists('debug_print_backtrace')) { + debug_print_backtrace(); + } else { + print_object(debug_backtrace()); + } + echo "

Aborting...

\n"; + exit(1); + } + break; + case E_USER_WARNING: + if ($CFG->debug > E_USER_WARNING) { + echo "WARNING [$errno] $errstr
\n"; + } + break; + case E_USER_NOTICE: + if ($CFG->debug > E_USER_NOTICE) { + echo "NOTICE [$errno] $errstr
\n"; + } + break; + default: + echo "Unknown error type: [$errno] $errstr
\n"; + break; + } +} + // vim:autoindent:expandtab:shiftwidth=4:tabstop=4:tw=140: ?> -- 2.39.5