Moving where AppError is used, as infinite recursion is no fun.

This commit is contained in:
Mark Story 2010-09-03 15:03:33 -04:00
parent f2db19767d
commit 8c428ff8a8

View file

@ -99,10 +99,6 @@ class ErrorHandler {
if (method_exists($this->controller, 'apperror')) { if (method_exists($this->controller, 'apperror')) {
return $this->controller->appError($exception); return $this->controller->appError($exception);
} }
if (file_exists(APP . 'app_error.php') && class_exists('AppError')) {
$AppError = new AppError($exception);
return $AppError->render();
}
$method = $template = Inflector::variable(str_replace('Exception', '', get_class($exception))); $method = $template = Inflector::variable(str_replace('Exception', '', get_class($exception)));
if ($exception instanceof CakeException && !in_array($method, get_class_methods($this))) { if ($exception instanceof CakeException && !in_array($method, get_class_methods($this))) {
@ -155,13 +151,21 @@ class ErrorHandler {
/** /**
* Set as the default exception handler by the CakePHP bootstrap process. * Set as the default exception handler by the CakePHP bootstrap process.
* If you wish you use a custom default exception handler use set_exception_handler() *
* in your app/config/bootstrap.php. * This will either use an AppError class if your application has one,
* or use the default ErrorHandler.
* *
* @return void * @return void
* @see http://php.net/manual/en/function.set-exception-handler.php * @see http://php.net/manual/en/function.set-exception-handler.php
*/ */
public static function handleException(Exception $exception) { public static function handleException(Exception $exception) {
if (file_exists(APP . 'app_error.php') || class_exists('AppError')) {
if (!class_exists('AppError')) {
require(APP . 'app_error.php');
}
$AppError = new AppError($exception);
return $AppError->render();
}
$error = new ErrorHandler($exception); $error = new ErrorHandler($exception);
$error->render(); $error->render();
} }