summaryrefslogtreecommitdiff
path: root/buildscripts/phing/classes/phing/ConfigurationException.php
diff options
context:
space:
mode:
authorctrlaltca <>2013-01-02 14:42:24 +0000
committerctrlaltca <>2013-01-02 14:42:24 +0000
commitedf2251aca60a970e822079d23933e5b70b26571 (patch)
tree366b6688efbb03f20f47268bea57859cea673c70 /buildscripts/phing/classes/phing/ConfigurationException.php
parent8e5f2510bd577e15095e46afc7d0ba6808549bf8 (diff)
backported all related changes up to 3229 to branch/3.2
Diffstat (limited to 'buildscripts/phing/classes/phing/ConfigurationException.php')
-rwxr-xr-xbuildscripts/phing/classes/phing/ConfigurationException.php85
1 files changed, 85 insertions, 0 deletions
diff --git a/buildscripts/phing/classes/phing/ConfigurationException.php b/buildscripts/phing/classes/phing/ConfigurationException.php
new file mode 100755
index 00000000..81735e1b
--- /dev/null
+++ b/buildscripts/phing/classes/phing/ConfigurationException.php
@@ -0,0 +1,85 @@
+<?php
+/*
+ * $Id: 6070efdfa67cb145fd48525e88737d39c8eff4b2 $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+/**
+ * ConfigurationException is thrown by Phing during the configuration and setup phase of the project.
+ *
+ * @author Hans Lellelid <hans@xmpl.org>
+ * @version $Id$
+ * @package phing
+ */
+class ConfigurationException extends Exception {
+
+ /**
+ * Location in the xml file.
+ * @var Location
+ */
+ protected $location;
+
+ /**
+ * The nested "cause" exception.
+ * @var Exception
+ */
+ protected $cause;
+
+ /**
+ * Construct a ConfigurationException.
+ * Supported signatures:
+ * throw new BuildException($causeExc);
+ * throw new BuildException($msg);
+ * throw new BuildException($msg, $causeExc);
+ * @param Exception|string $p1
+ * @param Exception|null $p2
+ */
+ public function __construct($p1, $p2 = null) {
+
+ $cause = null;
+ $msg = "";
+
+ if ($p2 !== null) {
+ if ($p2 instanceof Exception) {
+ $cause = $p2;
+ $msg = $p1;
+ }
+ } elseif ($p1 instanceof Exception) {
+ $cause = $p1;
+ } else {
+ $msg = $p1;
+ }
+
+ parent::__construct($msg);
+
+ if ($cause !== null) {
+ $this->cause = $cause;
+ $this->message .= " [wrapped: " . $cause->getMessage() ."]";
+ }
+ }
+
+ /**
+ * Gets the cause exception.
+ *
+ * @return Exception
+ */
+ public function getCause() {
+ return $this->cause;
+ }
+
+}