Re: PEAR DB examples?

From: Date: Sat, 09 Sep 2000 02:48:39 +0000
Subject: Re: PEAR DB examples?
References: 1  Groups: php.pear 
Request: Send a blank email to php-pear+get-242@lists.php.net to get a copy of this message
On Sat, 9 Sep 2000, Stig S. Bakken wrote: | On Fri, 8 Sep 2000, Sterling Hughes wrote: | | | Perhaps we could have a register_error_function method: | | | | function error ($obj) { | | die(sprintf("Error [%d]: %s", | | $obj->getCode(), $obj->getMessage())); | | } | | | | $dbh->register_error_function("error"); | | | | // .. Normal stuff, the error function will be called on error. No need to | | check | | I've been pondering a bit on this one, and the solution that I find the | most appealing is the one you suggest. Examples: | | $dbh->setErrorHandling(PEAR_ERROR_RETURN); | $dbh->setErrorHandling(PEAR_ERROR_PRINT); | $dbh->setErrorHandling(PEAR_ERROR_TRIGGER); | $dbh->setErrorHandling(PEAR_ERROR_TRIGGER, E_USER_WARNING); | $dbh->setErrorHandling(PEAR_ERROR_TRIGGER, E_USER_ERROR); | $dbh->setErrorHandling(PEAR_ERROR_DIE); | $dbh->setErrorHandling(PEAR_ERROR_CALLBACK, "error_function"); | $dbh->setErrorHandling(PEAR_ERROR_CALLBACK, array(&$obj, "error_method")); I just implemented this in DB_common. All errors from DB objects are now created with $this->raiseError() instead of new DB_Error(). setErrorHandling is implemented as per the examples above. It's backward compatible and everything. If this solution makes people happy, I think it would make sense to move the setErrorHandling and raiseError methods into the PEAR class. - Stig

« previous php.pear (#242) next »