diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2009-02-09 07:25:35 -0500 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2009-02-09 07:25:35 -0500 |
commit | 5466f6a6d0950331a4cb54e09b44ea4524751fb4 (patch) | |
tree | 6bcbafb19e7d1713ee374ddc6308b89bb74e0f7d | |
parent | aa06d760b375c0cc9bbc693bf4bd412e9fda8f50 (diff) |
Better exception handling in index
Some better exception handling in Web entry point.
-rw-r--r-- | index.php | 26 | ||||
-rw-r--r-- | lib/common.php | 5 |
2 files changed, 16 insertions, 15 deletions
@@ -48,9 +48,8 @@ if (!$user && common_config('site', 'private') && $actionfile = INSTALLDIR."/actions/$action.php"; if (!file_exists($actionfile)) { - $cac = new ClientErrorAction(); - $cac->handle(array('code' => 404, - 'message' => _('Unknown action'))); + $cac = new ClientErrorAction(_('Unknown action'), 404); + $cac->showPage(); } else { include_once $actionfile; @@ -75,17 +74,14 @@ if (!file_exists($actionfile)) { if ($action_obj->prepare($_REQUEST)) { $action_obj->handle($_REQUEST); } - } catch (ClientException cex) { - $cac = new ClientErrorAction(); - $cac->handle(array('code' => $cex->code, - 'message' => $cex->message)); - } catch (ServerException sex) { // snort snort guffaw - $sac = new ServerErrorAction(); - $sac->handle(array('code' => $sex->code, - 'message' => $sex->message)); - } catch (Exception ex) { - $sac = new ServerErrorAction(); - $sac->handle(array('code' => 500, - 'message' => $ex->message)); + } catch (ClientException $cex) { + $cac = new ClientErrorAction($cex->getMessage(), $cex->getCode()); + $cac->showPage(); + } catch (ServerException $sex) { // snort snort guffaw + $sac = new ServerErrorAction($sex->getMessage(), $sex->getCode()); + $sac->showPage(); + } catch (Exception $ex) { + $sac = new ServerErrorAction($ex->getMessage()); + $sac->showPage(); } } diff --git a/lib/common.php b/lib/common.php index 7d3ec108c..64c7f2410 100644 --- a/lib/common.php +++ b/lib/common.php @@ -182,6 +182,8 @@ foreach ($_config_files as $_config_file) { } } +// XXX: how many of these could be auto-loaded on use? + require_once('Validate.php'); require_once('markdown.php'); @@ -193,6 +195,9 @@ require_once(INSTALLDIR.'/lib/subs.php'); require_once(INSTALLDIR.'/lib/Shorturl_api.php'); require_once(INSTALLDIR.'/lib/twitter.php'); +require_once(INSTALLDIR.'/lib/clientexception.php'); +require_once(INSTALLDIR.'/lib/serverexception.php'); + // XXX: other formats here define('NICKNAME_FMT', VALIDATE_NUM.VALIDATE_ALPHA_LOWER); |