<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.6 |
+ | CiviCRM version 4.7 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
*
* @package CRM
* @copyright CiviCRM LLC (c) 2004-2015
- * $Id$
- *
*/
require_once 'PEAR/ErrorStack.php';
*/
class CRM_Exception extends PEAR_Exception {
/**
- * Redefine the exception so message isn't optional
+ * Redefine the exception so message isn't optional.
+ *
* Supported signatures:
* - PEAR_Exception(string $message);
* - PEAR_Exception(string $message, int $code);
* which currently use PEAR::raiseError to notify of error messages.
*
* @param object $pearError PEAR_Error
- *
- * @return void
*/
public static function handle($pearError) {
* The email address to notify of this situation.
*
* @throws Exception
- *
- * @return void
*/
public static function fatal($message = NULL, $code = NULL, $email = NULL) {
$vars = array(
if (php_sapi_name() == "cli") {
print ("Sorry. A non-recoverable error has occurred.\n$message \n$code\n$email\n\n");
- debug_print_backtrace();
+ // Fix for CRM-16899
+ echo static::formatBacktrace(debug_backtrace());
die("\n");
// FIXME: Why doesn't this call abend()?
// Difference: abend() will cleanup transaction and (via civiExit) store session state
$out['backtrace'] = self::parseBacktrace(debug_backtrace());
$message .= '<p><em>See console for backtrace</em></p>';
}
- CRM_Core_Session::setStatus($message, ts('Sorry an Error Occured'), 'error');
+ CRM_Core_Session::setStatus($message, ts('Sorry an error occurred'), 'error');
CRM_Core_Transaction::forceRollbackIfEnabled();
CRM_Core_Page_AJAX::returnJsonResponse($out);
}
* something that follows a cleaner separation of concerns.
*
* @param Exception $exception
- *
- * @return void
*/
public static function handleUnhandledException($exception) {
try {
*
* @param null $redirect
* @param string $title
- * @return void
*/
public static function statusBounce($status, $redirect = NULL, $title = NULL) {
$session = CRM_Core_Session::singleton();