|
|
@@ -19,74 +19,78 @@
|
|
|
* @version $Id$
|
|
|
*/
|
|
|
|
|
|
-if (version_compare(PHP_VERSION, '5.3.0', '<')) {
|
|
|
+/**
|
|
|
+* @category Zend
|
|
|
+* @package Zend
|
|
|
+* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
|
|
+* @license http://framework.zend.com/license/new-bsd New BSD License
|
|
|
+*/
|
|
|
+class Zend_Exception extends Exception
|
|
|
+{
|
|
|
/**
|
|
|
- * @category Zend
|
|
|
- * @package Zend
|
|
|
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
|
|
- * @license http://framework.zend.com/license/new-bsd New BSD License
|
|
|
+ * @var null|Exception
|
|
|
*/
|
|
|
- class Zend_Exception extends Exception
|
|
|
- {
|
|
|
- /**
|
|
|
- * @var null|Exception
|
|
|
- */
|
|
|
- private $_previous = null;
|
|
|
+ private $_previous = null;
|
|
|
|
|
|
- /**
|
|
|
- * Construct the exception
|
|
|
- *
|
|
|
- * @param string $msg
|
|
|
- * @param int $code
|
|
|
- * @param Exception $previous
|
|
|
- * @return void
|
|
|
- */
|
|
|
- public function __construct($msg = '', $code = 0, Exception $previous = null)
|
|
|
- {
|
|
|
+ /**
|
|
|
+ * Construct the exception
|
|
|
+ *
|
|
|
+ * @param string $msg
|
|
|
+ * @param int $code
|
|
|
+ * @param Exception $previous
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public function __construct($msg = '', $code = 0, Exception $previous = null)
|
|
|
+ {
|
|
|
+ if (version_compare(PHP_VERSION, '5.3.0', '<')) {
|
|
|
parent::__construct($msg, (int) $code);
|
|
|
$this->_previous = $previous;
|
|
|
+ } else {
|
|
|
+ parent::__construct($msg, (int) $code, $previous);
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * Returns previous Exception
|
|
|
- *
|
|
|
- * @return Exception|null
|
|
|
- */
|
|
|
- final public function getPrevious()
|
|
|
- {
|
|
|
- return $this->_previous;
|
|
|
+ /**
|
|
|
+ * Overloading
|
|
|
+ *
|
|
|
+ * For PHP < 5.3.0, provides access to the getPrevious() method.
|
|
|
+ *
|
|
|
+ * @param string $method
|
|
|
+ * @param array $args
|
|
|
+ * @return mixed
|
|
|
+ */
|
|
|
+ public function __call($method, array $args)
|
|
|
+ {
|
|
|
+ if ('getprevious' == strtolower($method)) {
|
|
|
+ return $this->_getPrevious();
|
|
|
}
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * String representation of the exception
|
|
|
- *
|
|
|
- * @return string
|
|
|
- */
|
|
|
- public function __toString()
|
|
|
- {
|
|
|
+ /**
|
|
|
+ * String representation of the exception
|
|
|
+ *
|
|
|
+ * @return string
|
|
|
+ */
|
|
|
+ public function __toString()
|
|
|
+ {
|
|
|
+ if (version_compare(PHP_VERSION, '5.3.0', '<')) {
|
|
|
if (null !== ($e = $this->getPrevious())) {
|
|
|
return $e->__toString()
|
|
|
- . "\n\nNext "
|
|
|
- . parent::__toString();
|
|
|
+ . "\n\nNext "
|
|
|
+ . parent::__toString();
|
|
|
}
|
|
|
- return parent::__toString();
|
|
|
}
|
|
|
+ return parent::__toString();
|
|
|
}
|
|
|
-} else {
|
|
|
+
|
|
|
/**
|
|
|
- * @category Zend
|
|
|
- * @package Zend
|
|
|
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
|
|
- * @license http://framework.zend.com/license/new-bsd New BSD License
|
|
|
+ * Returns previous Exception
|
|
|
+ *
|
|
|
+ * @return Exception|null
|
|
|
*/
|
|
|
- class Zend_Exception extends Exception
|
|
|
+ protected function _getPrevious()
|
|
|
{
|
|
|
- public function __construct($msg = '', $code = 0, Exception $previous = null)
|
|
|
- {
|
|
|
- if (!is_int($code)) {
|
|
|
- $code = (int) $code;
|
|
|
- }
|
|
|
- parent::__construct($msg, $code, $previous);
|
|
|
- }
|
|
|
+ return $this->_previous;
|
|
|
}
|
|
|
}
|