Better exception handling in index
Some better exception handling in Web entry point.
This commit is contained in:
		
							
								
								
									
										26
									
								
								index.php
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								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(); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user