Class BaseErrorHandler
Base error handler that provides logic common to the CLI + web error/exception handlers.
Subclasses are required to implement the template methods to handle displaying the errors in their environment.
Property Summary
Method Summary
-
_displayError() abstract protected
Display an error message in an environment specific way.
-
_displayException() abstract protected
Display an exception in an environment specific way.
-
_getMessage() protected
Generates a formatted error message
-
_logError() protected
Log an error.
-
_logException() protected
Handles exception logging
-
_requestContext() protected
Get the request context for an error/exception trace.
-
_stop() protected
Stop the process.
-
getMessageForException() protected
Generate the message for the exception
-
handleError() public
Set as the default error handler by CakePHP.
-
handleException() public
Handle uncaught exceptions.
-
handleFatalError() public
Display/Log a fatal error.
-
increaseMemoryLimit() public
Increases the PHP "memory_limit" ini setting by the specified amount in kilobytes
-
mapErrorCode() public static
Map an error code into an Error word, and log location.
-
register() public
Register the error and exception handlers.
-
wrapAndHandleException() public
Checks the passed exception type. If it is an instance of
Error
then, it wraps the passed object inside another Exception object for backwards compatibility purposes.
Method Detail
_displayError() ¶ abstract protected
_displayError(array $error, bool $debug): void
Display an error message in an environment specific way.
Subclasses should implement this method to display the error as desired for the runtime they operate in.
Parameters
-
array
$error An array of error data.
-
bool
$debug Whether or not the app is in debug mode.
Returns
void
_displayException() ¶ abstract protected
_displayException(Exception $exception): void
Display an exception in an environment specific way.
Subclasses should implement this method to display an uncaught exception as desired for the runtime they operate in.
Parameters
-
Exception
$exception The uncaught exception.
Returns
void
_getMessage() ¶ protected
_getMessage(Exception $exception): string
Generates a formatted error message
Parameters
-
Exception
$exception Exception instance
Returns
string
_logError() ¶ protected
_logError(string $level, array $data): bool
Log an error.
Parameters
-
string
$level The level name of the log.
-
array
$data Array of error data.
Returns
bool
_logException() ¶ protected
_logException(Exception $exception): bool
Handles exception logging
Parameters
-
Exception
$exception Exception instance.
Returns
bool
_requestContext() ¶ protected
_requestContext(Cake\Http\ServerRequest $request): string
Get the request context for an error/exception trace.
Parameters
-
Cake\Http\ServerRequest
$request The request to read from.
Returns
string
_stop() ¶ protected
_stop(int $code): void
Stop the process.
Implemented in subclasses that need it.
Parameters
-
int
$code Exit code.
Returns
void
getMessageForException() ¶ protected
getMessageForException(Exception $exception, bool $isPrevious = false): string
Generate the message for the exception
Parameters
-
Exception
$exception The exception to log a message for.
-
bool
$isPrevious optional False for original exception, true for previous
Returns
string
handleError() ¶ public
handleError(int $code, string $description, string|null $file = null, int|null $line = null, array|null $context = null): bool
Set as the default error handler by CakePHP.
Use config/error.php to customize or replace this error handler. This function will use Debugger to display errors when debug > 0. And will log errors to Log, when debug == 0.
You can use the 'errorLevel' option to set what type of errors will be handled. Stack traces for errors can be enabled with the 'trace' option.
Parameters
-
int
$code Code of error
-
string
$description Error description
-
string|null
$file optional File on which error occurred
-
int|null
$line optional Line that triggered the error
-
array|null
$context optional Context
Returns
bool
handleException() ¶ public
handleException(Exception $exception): void
Handle uncaught exceptions.
Uses a template method provided by subclasses to display errors in an environment appropriate way.
Parameters
-
Exception
$exception Exception instance.
Returns
void
Throws
Exception
When renderer class not found
See Also
handleFatalError() ¶ public
handleFatalError(int $code, string $description, string $file, int $line): bool
Display/Log a fatal error.
Parameters
-
int
$code Code of error
-
string
$description Error description
-
string
$file File on which error occurred
-
int
$line Line that triggered the error
Returns
bool
increaseMemoryLimit() ¶ public
increaseMemoryLimit(int $additionalKb): void
Increases the PHP "memory_limit" ini setting by the specified amount in kilobytes
Parameters
-
int
$additionalKb Number in kilobytes
Returns
void
mapErrorCode() ¶ public static
mapErrorCode(int $code): array
Map an error code into an Error word, and log location.
Parameters
-
int
$code Error code to map
Returns
array
wrapAndHandleException() ¶ public
wrapAndHandleException(ExceptionError $exception): void
Checks the passed exception type. If it is an instance of Error
then, it wraps the passed object inside another Exception object
for backwards compatibility purposes.
Parameters
-
ExceptionError
$exception The exception to handle
Returns
void