diff options
author | Craig Andrews <candrews@integralblue.com> | 2010-03-01 21:40:42 -0500 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2010-03-01 21:44:41 -0500 |
commit | d8212977ce7f911d4f9bd6e55f94aea059a86782 (patch) | |
tree | f541e9e740ead662519405fd09869d23f8d7f4c9 /lib | |
parent | f9dd83caa72a799916725888a631725d532d780e (diff) |
Use PHP exceptions for PEAR error handling.
Allows for the common try/catch construct, which makes error handling cleaner and easier.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/common.php | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/common.php b/lib/common.php index 546f6bbe4..6c01c7db4 100644 --- a/lib/common.php +++ b/lib/common.php @@ -71,6 +71,7 @@ if (!function_exists('dl')) { # global configuration object require_once('PEAR.php'); +require_once('PEAR/Exception.php'); require_once('DB/DataObject.php'); require_once('DB/DataObject/Cast.php'); # for dates @@ -128,6 +129,17 @@ require_once INSTALLDIR.'/lib/activity.php'; require_once INSTALLDIR.'/lib/clientexception.php'; require_once INSTALLDIR.'/lib/serverexception.php'; + +//set PEAR error handling to use regular PHP exceptions +function PEAR_ErrorToPEAR_Exception($err) +{ + if ($err->getCode()) { + throw new PEAR_Exception($err->getMessage(), $err->getCode()); + } + throw new PEAR_Exception($err->getMessage()); +} +PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'PEAR_ErrorToPEAR_Exception'); + try { StatusNet::init(@$server, @$path, @$conffile); } catch (NoConfigException $e) { |