X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Ferrors.inc;h=53587df6ed081b1489e162d77898d474e48f3ed6;hb=df660a601cabb0afe7f3246884f16207b9a0c314;hp=2a1aedd9f9138afdd4ab5bd79c37fa67fbe1191a;hpb=95ff74b5722826544743a01daf527aa3c9efe11a;p=fa-stable.git diff --git a/includes/errors.inc b/includes/errors.inc index 2a1aedd9..53587df6 100644 --- a/includes/errors.inc +++ b/includes/errors.inc @@ -21,7 +21,8 @@ function get_backtrace($html = false, $skip=0) foreach($trace as $trn => $tr) { if ($trn <= $skip) continue; if ($html) $str .= ''; - $str .= $tr['file'].':'.$tr['line'].': '; + if (isset($tr['file']) && isset($tr['line'])) + $str .= $tr['file'].':'.$tr['line'].': '; if ($html) $str .= ''; if (isset($tr['type'])) { if($tr['type'] == '::') { @@ -32,7 +33,7 @@ function get_backtrace($html = false, $skip=0) } $str .= $tr['function'].'('; - if(is_array($tr['args'])) { + if(isset($tr['args']) && is_array($tr['args'])) { $args = array(); foreach($tr['args'] as $n=>$a) { if (is_object($tr['args'][$n])) @@ -71,7 +72,7 @@ function error_handler($errno, $errstr, $file, $line) { } } - $bt = $SysPrefs->go_debug>1 ? get_backtrace(true, 1) : array(); + $bt = isset($SysPrefs) && $SysPrefs->go_debug>1 ? get_backtrace(true, 1) : array(); // error_reporting==0 when messages are set off with @ if ($errno & error_reporting()) { @@ -87,6 +88,13 @@ function error_handler($errno, $errstr, $file, $line) { return true; } + +function exception_handler($exception) +{ + error_handler(E_ERROR, sprintf(_("Unhandled exception [%s]: %s."), $exception->getCode(), $exception->getMessage()), + $exception->getFile(), $exception->getLine()); + end_page(); +} //------------------------------------------------------------------------------ // Formats system messages before insert them into message
// FIX center is unused now