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',
                    );
                }
            }
        }
    }
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',
                    );
                }
            }
        }
    }
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' , ) ; } } } }
Function must be public to call on caused exceptions
@param array
Function must be public to call on caused exceptions