From 3d96d6f5f7ce70108cebaffdbe06956cbd6ccb99 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 16 Jul 2008 02:47:36 -0400 Subject: slightly better error handling darcs-hash:20080716064736-5a68a-b57c978702037f380e31d2d8825109821a01cef5.gz --- xmppdaemon.php | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'xmppdaemon.php') diff --git a/xmppdaemon.php b/xmppdaemon.php index c8e2ba16f..60697758f 100755 --- a/xmppdaemon.php +++ b/xmppdaemon.php @@ -19,8 +19,30 @@ */ function xmppdaemon_error_handler($errno, $errstr, $errfile, $errline, $errcontext) { - print "Error $errno in $errfile[$errline]: $errstr\n"; - die(); + switch ($errno) { + case E_USER_ERROR: + echo "My ERROR [$errno] $errstr
\n"; + echo " Fatal error on line $errline in file $errfile"; + echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")
\n"; + echo "Aborting...
\n"; + exit(1); + break; + + case E_USER_WARNING: + echo "My WARNING [$errno] $errstr
\n"; + break; + + case E_USER_NOTICE: + echo "My NOTICE [$errno] $errstr
\n"; + break; + + default: + echo "Unknown error type: [$errno] $errstr
\n"; + break; + } + + /* Don't execute PHP internal error handler */ + return true; } set_error_handler('xmppdaemon_error_handler'); -- cgit v1.2.3-54-g00ecf