/** * Default error handling is to create a pear error, but never return it. * if you need to handle errors you should look at setting the PEAR_Error callback * this is due to the fact it would wreck havoc on the internal methods! * * @param int $message message * @param int $type type * @param int $behaviour behaviour (die or continue!); * @access public * @return error object */ function raiseError($message, $type = null, $behaviour = null) { global $_DB_DATAOBJECT; if ($behaviour == PEAR_ERROR_DIE && !empty($_DB_DATAOBJECT['CONFIG']['dont_die'])) { $behaviour = null; } $error =& PEAR::getStaticProperty('DB_DataObject', 'lastError'); // this will never work totally with PHP's object model. // as this is passed on static calls (like staticGet in our case) if (isset($this) && is_object($this) && is_subclass_of($this, 'db_dataobject')) { $this->_lastError = $error; } $_DB_DATAOBJECT['LASTERROR'] = $error; // no checks for production here?....... - we log errors before we throw them. DB_DataObject::debug($message, 'ERROR', 1); if (PEAR::isError($message)) { $error = $message; } else { require_once 'DB/DataObject/Error.php'; $error = PEAR::raiseError($message, $type, $behaviour, $opts = null, $userinfo = null, 'DB_DataObject_Error'); } return $error; }
/** * Default error handling is to create a pear error, but never return it. * if you need to handle errors you should look at setting the PEAR_Error callback * this is due to the fact it would wreck havoc on the internal methods! * * @param int $message message * @param int $type type * @param int $behaviour behaviour (die or continue!); * @access public * @return error object */ function raiseError($message, $type = NULL, $behaviour = NULL) { global $_DB_DATAOBJECT; if ($behaviour == PEAR_ERROR_DIE && @$_DB_DATAOBJECT['CONFIG']['dont_die']) { $behaviour = NULL; } if (PEAR::isError($message)) { $error = $message; } else { $error = PEAR::raiseError($message, $type, $behaviour); } // this will never work totally with PHP's object model. // as this is passed on static calls (like staticGet in our case) if (@is_object($this) && is_subclass_of($this, 'db_dataobject')) { $this->_lastError = $error; } $_DB_DATAOBJECT['LASTERROR'] = $error; // no checks for production here?....... DB_DataObject::debug($message, "ERROR", 1); return $error; }