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.

Direct Subclasses

Abstract
Namespace: Cake\Error
Location: Error/BaseErrorHandler.php

Properties summary

  • $_handled protected
    boolean
  • $_options protected
    array
    Options to use for the Error handling.

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.
  • handleError() public
    Set as the default error handler by CakePHP.
  • Handle uncaught exceptions.
  • Display/Log a fatal error.
  • 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.
  • 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()source abstract protected

_displayError( array $error , boolean $debug )

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.
boolean $debug
Whether or not the app is in debug mode.

_displayException()source abstract protected

_displayException( Exception $exception )

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.

_getMessage()source protected

_getMessage( Exception $exception )

Generates a formatted error message

Parameters

Exception $exception
Exception instance

Returns

string
Formatted message

_logError()source protected

_logError( string $level , array $data )

Log an error.

Parameters

string $level
The level name of the log.
array $data
Array of error data.

Returns

boolean

_logException()source protected

_logException( Exception $exception )

Handles exception logging

Parameters

Exception $exception
Exception instance.

Returns

boolean

_requestContext()source protected

_requestContext( Cake\Http\ServerRequest $request )

Get the request context for an error/exception trace.

Parameters

Cake\Http\ServerRequest $request
The request to read from.

Returns

string

_stop()source protected

_stop( integer $code )

Stop the process.

Implemented in subclasses that need it.

Parameters

integer $code
Exit code.

handleError()source public

handleError( integer $code , string $description , string|null $file = null , integer|null $line = null , array|null $context = null )

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

integer $code
Code of error
string $description
Error description
string|null $file optional null
File on which error occurred
integer|null $line optional null
Line that triggered the error
array|null $context optional null
Context

Returns

boolean
True if error was handled

handleException()source public

handleException( Exception $exception )

Handle uncaught exceptions.

Uses a template method provided by subclasses to display errors in an environment appropriate way.

Parameters

Exception $exception
Exception instance.

Throws

Exception
When renderer class not found

See

https://secure.php.net/manual/en/function.set-exception-handler.php

handleFatalError()source public

handleFatalError( integer $code , string $description , string $file , integer $line )

Display/Log a fatal error.

Parameters

integer $code
Code of error
string $description
Error description
string $file
File on which error occurred
integer $line
Line that triggered the error

Returns

boolean

increaseMemoryLimit()source public

increaseMemoryLimit( integer $additionalKb )

Increases the PHP "memory_limit" ini setting by the specified amount in kilobytes

Parameters

integer $additionalKb
Number in kilobytes

mapErrorCode()source public static

mapErrorCode( integer $code )

Map an error code into an Error word, and log location.

Parameters

integer $code
Error code to map

Returns

array
Array of error word, and log location.

register()source public

register( )

Register the error and exception handlers.

wrapAndHandleException()source public

wrapAndHandleException( Exception|Error $exception )

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

Properties detail

$_handledsource

protected boolean

false

$_optionssource

protected array

Options to use for the Error handling.

[]

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.6/class-Cake.Error.BaseErrorHandler.html