From: Stig Bakken Date: Tue, 17 Apr 2001 01:51:27 +0000 (+0000) Subject: * have DB.php use PEAR::raiseError in factory methods X-Git-Tag: php-4.0.6RC1~393 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2723ad2e63850863ac4228f2cdb96ba6347b5df2;p=php * have DB.php use PEAR::raiseError in factory methods --- diff --git a/pear/DB.php b/pear/DB.php index 462d0ece29..8dce9080e7 100644 --- a/pear/DB.php +++ b/pear/DB.php @@ -188,7 +188,8 @@ class DB @$obj =& new $classname; if (!$obj) { - return new DB_Error(DB_ERROR_NOT_FOUND); + return PEAR::raiseError(DB_ERROR_NOT_FOUND, + null, null, null, null, 'DB_Error', true); } return $obj; @@ -235,7 +236,8 @@ class DB } if (!$obj) { - return new DB_Error(DB_ERROR_NOT_FOUND); + return PEAR::raiseError(DB_ERROR_NOT_FOUND, + null, null, null, null, 'DB_Error', true); } if (is_array($options)) { @@ -278,8 +280,8 @@ class DB function isError($value) { return (is_object($value) && - (get_class($value) == 'db_error' || - is_subclass_of($value, 'db_error'))); + (get_class($value) == 'db_error' || + is_subclass_of($value, 'db_error'))); } /** diff --git a/pear/PEAR.php.in b/pear/PEAR.php.in index 529cd3dc3f..3c91b576d9 100644 --- a/pear/PEAR.php.in +++ b/pear/PEAR.php.in @@ -252,6 +252,9 @@ class PEAR * @param $userinfo If you need to pass along for example debug * information, this parameter is meant for that. * + * @param $error_class The returned error object will be instantiated + * from this class, if specified. + * * @return object a PEAR error object * * @see PEAR::setErrorHandling @@ -261,7 +264,7 @@ class PEAR function &raiseError($message = null, $code = null, $mode = null, $options = null, $userinfo = null, - $error_class = null) + $error_class = null, $skipmsg = false) { if ($mode === null) { if (isset($this) && isset($this->_default_error_mode)) { @@ -305,7 +308,11 @@ class PEAR } else { $ec = 'PEAR_Error'; } - return new $ec($message, $code, $mode, $options, $userinfo); + if ($skipmsg) { + return new $ec($code, $mode, $options, $userinfo); + } else { + return new $ec($message, $code, $mode, $options, $userinfo); + } } // }}} diff --git a/pear/tests/pear_error.phpt b/pear/tests/pear_error.phpt index 6b5ce87df6..3d1a9f2601 100644 --- a/pear/tests/pear_error.phpt +++ b/pear/tests/pear_error.phpt @@ -113,16 +113,16 @@ mode=print: test error[pear_error: message="test error" code=-42 mode=print leve mode=callback(function): errorhandler function called, obj=[pear_error: message="test error" code=-42 mode=callback callback=errorhandler prefix="" prepend="" append="" info=""] mode=callback(method): errorhandler method called, obj=[pear_error: message="test error" code=-42 mode=callback callback=errorclass::errorhandler prefix="" prepend="" append="" info=""] mode=print&trigger: test error
-Notice: test error in /usr/local/lib/php/PEAR.php on line 399
+Notice: test error in /usr/local/lib/php/PEAR.php on line 413
[pear_error: message="test error" code=-42 mode=print|trigger level=notice prefix="" prepend="" append="" info=""] mode=trigger:
-Notice: test error in /usr/local/lib/php/PEAR.php on line 399
+Notice: test error in /usr/local/lib/php/PEAR.php on line 413
[pear_error: message="test error" code=-42 mode=trigger level=notice prefix="" prepend="" append="" info=""] mode=trigger,level=notice:
-Notice: test error in /usr/local/lib/php/PEAR.php on line 399
+Notice: test error in /usr/local/lib/php/PEAR.php on line 413
[pear_error: message="test error" code=-42 mode=trigger level=notice prefix="" prepend="" append="" info=""] mode=trigger,level=warning:
-Warning: test error in /usr/local/lib/php/PEAR.php on line 399
+Warning: test error in /usr/local/lib/php/PEAR.php on line 413
[pear_error: message="test error" code=-42 mode=trigger level=warning prefix="" prepend="" append="" info=""] mode=trigger,level=error:
-Fatal error: test error in /usr/local/lib/php/PEAR.php on line 399
+Fatal error: test error in /usr/local/lib/php/PEAR.php on line 413