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 mode is on. And will log errors to Log, when debug mode is off.
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(Exception|Error $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
-
Exception|Error
$exception The exception to handle
Returns
void