public static function handler(Exception $e) { try { $type = get_class($e); $code = $e->getCode(); $message = $e->getMessage(); $file = $e->getFile(); $line = $e->getLine(); $trace = $e->getTrace(); if ($e instanceof ErrorException) { if (isset(keke_exception::$php_errors[$code])) { $code = keke_exception::$php_errors[$code]; } if (version_compare(PHP_VERSION, '5.3', '<')) { for ($i = count($trace) - 1; $i > 0; --$i) { if (isset($trace[$i - 1]['args'])) { $trace[$i]['args'] = $trace[$i - 1]['args']; unset($trace[$i - 1]['args']); } } } } $error = keke_exception::text($e); $data['type'] = $type; $data['code'] = $code; $data['message'] = $message; $data['file'] = $file; $data['line'] = $line; $vars = array('_SESSION', '_GET', '_POST', '_FILES', '_COOKIE', '_SERVER'); $data['trace'] = array_reverse(keke_debug::trace($trace)); require S_ROOT . '/control/exception.php'; die; } catch (Exception $e) { ob_get_level() and ob_clean(); echo keke_exception::text($e), "\n"; exit(1); } }