Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Exception.php

function PEAR_Exception::getCauseMessage

Function must be public to call on caused exceptions

Parameters

array $causes Array that gets filled.:

Return value

void

2 calls to PEAR_Exception::getCauseMessage()
PEAR_Exception::toHtml in vendor/pear/pear_exception/PEAR/Exception.php
Generates a HTML representation of the exception
PEAR_Exception::toText in vendor/pear/pear_exception/PEAR/Exception.php
Generates text representation of the exception and stack trace

File

vendor/pear/pear_exception/PEAR/Exception.php, line 257

Class

PEAR_Exception
Base PEAR_Exception Class

Code

public function getCauseMessage(&$causes) {
    $trace = $this->getTraceSafe();
    $cause = array(
        'class' => get_class($this),
        'message' => $this->message,
        'file' => 'unknown',
        'line' => 'unknown',
    );
    if (isset($trace[0])) {
        if (isset($trace[0]['file'])) {
            $cause['file'] = $trace[0]['file'];
            $cause['line'] = $trace[0]['line'];
        }
    }
    $causes[] = $cause;
    if ($this->cause instanceof PEAR_Exception) {
        $this->cause
            ->getCauseMessage($causes);
    }
    elseif ($this->cause instanceof Exception) {
        $causes[] = array(
            'class' => get_class($this->cause),
            'message' => $this->cause
                ->getMessage(),
            'file' => $this->cause
                ->getFile(),
            'line' => $this->cause
                ->getLine(),
        );
    }
    elseif (class_exists('PEAR_Error') && $this->cause instanceof PEAR_Error) {
        $causes[] = array(
            'class' => get_class($this->cause),
            'message' => $this->cause
                ->getMessage(),
            'file' => 'unknown',
            'line' => 'unknown',
        );
    }
    elseif (is_array($this->cause)) {
        foreach ($this->cause as $cause) {
            if ($cause instanceof PEAR_Exception) {
                $cause->getCauseMessage($causes);
            }
            elseif ($cause instanceof Exception) {
                $causes[] = array(
                    'class' => get_class($cause),
                    'message' => $cause->getMessage(),
                    'file' => $cause->getFile(),
                    'line' => $cause->getLine(),
                );
            }
            elseif (class_exists('PEAR_Error') && $cause instanceof PEAR_Error) {
                $causes[] = array(
                    'class' => get_class($cause),
                    'message' => $cause->getMessage(),
                    'file' => 'unknown',
                    'line' => 'unknown',
                );
            }
            elseif (is_array($cause) && isset($cause['message'])) {
                // PEAR_ErrorStack warning
                $causes[] = array(
                    'class' => $cause['package'],
                    'message' => $cause['message'],
                    'file' => isset($cause['context']['file']) ? $cause['context']['file'] : 'unknown',
                    'line' => isset($cause['context']['line']) ? $cause['context']['line'] : 'unknown',
                );
            }
        }
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal