X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=inline;f=includes%2Ferrors.inc;h=53587df6ed081b1489e162d77898d474e48f3ed6;hb=8333e3e6b2b09fb6d72d3605275a8212bd71de84;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
|