summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-02-09 07:25:35 -0500
committerEvan Prodromou <evan@controlyourself.ca>2009-02-09 07:25:35 -0500
commit5466f6a6d0950331a4cb54e09b44ea4524751fb4 (patch)
tree6bcbafb19e7d1713ee374ddc6308b89bb74e0f7d
parentaa06d760b375c0cc9bbc693bf4bd412e9fda8f50 (diff)
Better exception handling in index
Some better exception handling in Web entry point.
-rw-r--r--index.php26
-rw-r--r--lib/common.php5
2 files changed, 16 insertions, 15 deletions
diff --git a/index.php b/index.php
index 075ee9676..dac5a8071 100644
--- a/index.php
+++ b/index.php
@@ -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);