/** * 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) { if ($behaviour == PEAR_ERROR_DIE && !empty(DB_DataObject2::$CONFIG['dont_die'])) { $behaviour = null; } $error =& PEAR::getStaticProperty('DB_DataObject2', '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_dataobject2')) { $this->_lastError = $error; } DB_DataObject2::$LASTERROR = $error; // no checks for production here?....... - we log errors before we throw them. DB_DataObject2::debug($message, 'ERROR', 1); if (PEAR::isError($message)) { $error = $message; } else { require_once DATAOBJECT2_PATH . '/Error.php'; $error = PEAR::raiseError($message, $type, $behaviour, $opts = null, $userinfo = null, 'DB_DataObject_Error'); } return $error; }