Commit 5466f6a6 authored by Evan Prodromou's avatar Evan Prodromou

Better exception handling in index

Some better exception handling in Web entry point.
parent aa06d760
......@@ -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();
}
}
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment