diff options
author | Florian Pritz <bluewind@xinu.at> | 2015-02-03 11:14:29 +0100 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2015-02-03 11:14:29 +0100 |
commit | 9ea78213f8e505b5fde7372106adc1947d1f7de2 (patch) | |
tree | 278d5c4faba72d05c6a2468a37cdc1d3528a66fd /index.php | |
parent | 6816970229c6d0bd46ba46ecd70199c0687952da (diff) |
Improve general exception handling
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'index.php')
-rw-r--r-- | index.php | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -249,17 +249,26 @@ function getExceptionTraceAsString($exception) { return $rtn; } +function _log_exception($e) +{ + $backtrace = getExceptionTraceAsString($e); + $log_heading = sprintf("Exception '%s' with message '%s' in %s:%d", get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()); + error_log($log_heading."\n".$backtrace); +} + // The actual exception handler function _actual_exception_handler($e) { + _log_exception($e); + $display_errors = in_array(strtolower(ini_get('display_errors')), array('1', 'on', 'true', 'stdout')); $GLOBALS["is_error_page"] = true; $heading = "Internal Server Error"; $message = "<p>An unhandled error occured.</p>\n"; - $backtrace = getExceptionTraceAsString($e); if ($display_errors) { + $backtrace = getExceptionTraceAsString($e); $message .= '<div>'; $message .= '<b>Fatal error</b>: Uncaught exception '.get_class($e).'<br>'; $message .= '<b>Message</b>: '.$e->getMessage().'<br>'; @@ -270,9 +279,6 @@ function _actual_exception_handler($e) $message .="<p>More information can be found in syslog or by enabling display_errors.</p>"; } - $log_heading = sprintf("Exception '%s' with message '%s' in %s:%d", get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()); - error_log($log_heading."\n".$backtrace); - $message = "$message"; include APPPATH."/errors/error_general.php"; } |