Overview

Packages

  • Auth
  • Config
  • Controller
  • Date
  • Db
  • Feed
    • Abstract
    • Writers
  • File
    • Decorator
  • Form
    • Element
  • Image
  • Log
    • Writer
  • Net
    • Exception
    • REST
  • None
  • PHP
  • PHPMailer
  • Session
  • Util
  • Validate
    • Validator
  • Zend
    • Db
      • Adapter
      • Expr
      • Profiler
      • Select
      • Statement
      • Table
    • Loader
      • Autoloader
      • PluginLoader
    • Registry

Exceptions

  • Zend_Exception
  • Overview
  • Package
  • Class
  • Tree
 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 license@zend.com 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:  * @version    $Id: Exception.php 23484 2010-12-10 03:57:59Z mjh_ca $
20:  */
21: 
22: /**
23: * @category   Zend
24: * @package    Zend
25: * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
26: * @license    http://framework.zend.com/license/new-bsd     New BSD License
27: */
28: class Zend_Exception extends Exception
29: {
30:     /**
31:      * @var null|Exception
32:      */
33:     private $_previous = null;
34: 
35:     /**
36:      * Construct the exception
37:      *
38:      * @param  string $msg
39:      * @param  int $code
40:      * @param  Exception $previous
41:      * @return void
42:      */
43:     public function __construct($msg = '', $code = 0, Exception $previous = null)
44:     {
45:         if (version_compare(PHP_VERSION, '5.3.0', '<')) {
46:             parent::__construct($msg, (int) $code);
47:             $this->_previous = $previous;
48:         } else {
49:             parent::__construct($msg, (int) $code, $previous);
50:         }
51:     }
52: 
53:     /**
54:      * Overloading
55:      *
56:      * For PHP < 5.3.0, provides access to the getPrevious() method.
57:      *
58:      * @param  string $method
59:      * @param  array $args
60:      * @return mixed
61:      */
62:     public function __call($method, array $args)
63:     {
64:         if ('getprevious' == strtolower($method)) {
65:             return $this->_getPrevious();
66:         }
67:         return null;
68:     }
69: 
70:     /**
71:      * String representation of the exception
72:      *
73:      * @return string
74:      */
75:     public function __toString()
76:     {
77:         if (version_compare(PHP_VERSION, '5.3.0', '<')) {
78:             if (null !== ($e = $this->getPrevious())) {
79:                 return $e->__toString()
80:                        . "\n\nNext "
81:                        . parent::__toString();
82:             }
83:         }
84:         return parent::__toString();
85:     }
86: 
87:     /**
88:      * Returns previous Exception
89:      *
90:      * @return Exception|null
91:      */
92:     protected function _getPrevious()
93:     {
94:         return $this->_previous;
95:     }
96: }
97: 
Pry Framework API documentation generated by ApiGen 2.6.1