[ Index ]

PHP Cross Reference of moodle-2.8

title

Body

[close]

/lib/zend/Zend/ -> Exception.php (source)

   1  <?php
   2  /**
   3   * Zend Framework
   4   *
   5   * LICENSE
   6   *
   7   * This source file is subject to the new BSD license that is bundled
   8   * with this package in the file LICENSE.txt.
   9   * It is also available through the world-wide-web at this URL:
  10   * http://framework.zend.com/license/new-bsd
  11   * If you did not receive a copy of the license and are unable to
  12   * obtain it through the world-wide-web, please send an email
  13   * to [email protected] so we can send you a copy immediately.
  14   *
  15   * @category   Zend
  16   * @package    Zend
  17   * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  18   * @license    http://framework.zend.com/license/new-bsd     New BSD License
  19   */
  20  
  21  /**
  22  * @category   Zend
  23  * @package    Zend
  24  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  25  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  26  */
  27  class Zend_Exception extends Exception
  28  {
  29      /**
  30       * @var null|Exception
  31       */
  32      private $_previous = null;
  33  
  34      /**
  35       * Construct the exception
  36       *
  37       * @param  string $msg
  38       * @param  int $code
  39       * @param  Exception $previous
  40       * @return void
  41       */
  42      public function __construct($msg = '', $code = 0, Exception $previous = null)
  43      {
  44          if (version_compare(PHP_VERSION, '5.3.0', '<')) {
  45              parent::__construct($msg, (int) $code);
  46              $this->_previous = $previous;
  47          } else {
  48              parent::__construct($msg, (int) $code, $previous);
  49          }
  50      }
  51  
  52      /**
  53       * Overloading
  54       *
  55       * For PHP < 5.3.0, provides access to the getPrevious() method.
  56       * 
  57       * @param  string $method 
  58       * @param  array $args 
  59       * @return mixed
  60       */
  61      public function __call($method, array $args)
  62      {
  63          if ('getprevious' == strtolower($method)) {
  64              return $this->_getPrevious();
  65          }
  66          return null;
  67      }
  68  
  69      /**
  70       * String representation of the exception
  71       *
  72       * @return string
  73       */
  74      public function __toString()
  75      {
  76          if (version_compare(PHP_VERSION, '5.3.0', '<')) {
  77              if (null !== ($e = $this->getPrevious())) {
  78                  return $e->__toString() 
  79                         . "\n\nNext " 
  80                         . parent::__toString();
  81              }
  82          }
  83          return parent::__toString();
  84      }
  85  
  86      /**
  87       * Returns previous Exception
  88       *
  89       * @return Exception|null
  90       */
  91      protected function _getPrevious()
  92      {
  93          return $this->_previous;
  94      }
  95  }


Generated: Fri Nov 28 20:29:05 2014 Cross-referenced by PHPXref 0.7.1