ErrorHandler implements ErrorHandlerInterface, LoggerAwareInterface uses LoggerAwareTrait

Global error handler for TYPO3

This file is a backport from TYPO3 Flow

Table of Contents

Interfaces

ErrorHandlerInterface
Error handler interface for TYPO3
LoggerAwareInterface

Constants

ERROR_LEVEL_LABELS  = [ E_WARNING => 'PHP Warning', E_NOTICE => 'PHP Notice', E_USER_ERROR => 'PHP User Error', E_USER_WARNING => 'PHP User Warning', E_USER_NOTICE => 'PHP User Notice', E_RECOVERABLE_ERROR => 'PHP Catchable Fatal Error', E_USER_DEPRECATED => 'TYPO3 Deprecation Notice', E_DEPRECATED => 'PHP Runtime Deprecation Notice', // @todo: Remove 2048 (deprecated E_STRICT) in v14, as this value is no longer used by PHP itself // and only kept here here because possible custom PHP extensions may still use it. // See https://wiki.php.net/rfc/deprecations_php_8_4#remove_e_strict_error_level_and_deprecate_e_strict_constant 2048 => 'PHP Runtime Notice', ]

Properties

$debugMode  : bool
Whether to write a flash message in case of an error
$errorHandlerErrors  : int
Error levels which should be handled.
$exceptionalErrors  : int
Error levels which should result in an exception thrown.

Methods

__construct()  : mixed
Registers this class as default error handler
handleError()  : bool
Handles an error.
registerErrorHandler()  : mixed
setDebugMode()  : mixed
setExceptionalErrors()  : mixed
Defines which error levels should result in an exception thrown.
createAndEnqueueFlashMessage()  : void
getBackendUser()  : BackendUserAuthentication|null
getFormattedLogMessage()  : string
getTimeTracker()  : TimeTracker
writeLog()  : mixed
Writes an error in the sys_log table

Constants

ERROR_LEVEL_LABELS

protected mixed ERROR_LEVEL_LABELS = [ E_WARNING => 'PHP Warning', E_NOTICE => 'PHP Notice', E_USER_ERROR => 'PHP User Error', E_USER_WARNING => 'PHP User Warning', E_USER_NOTICE => 'PHP User Notice', E_RECOVERABLE_ERROR => 'PHP Catchable Fatal Error', E_USER_DEPRECATED => 'TYPO3 Deprecation Notice', E_DEPRECATED => 'PHP Runtime Deprecation Notice', // @todo: Remove 2048 (deprecated E_STRICT) in v14, as this value is no longer used by PHP itself // and only kept here here because possible custom PHP extensions may still use it. // See https://wiki.php.net/rfc/deprecations_php_8_4#remove_e_strict_error_level_and_deprecate_e_strict_constant 2048 => 'PHP Runtime Notice', ]

Properties

$debugMode

Whether to write a flash message in case of an error

protected bool $debugMode = false

$errorHandlerErrors

Error levels which should be handled.

protected int $errorHandlerErrors = 0

$exceptionalErrors

Error levels which should result in an exception thrown.

protected int $exceptionalErrors = 0

Methods

__construct()

Registers this class as default error handler

public __construct(int $errorHandlerErrors) : mixed
Parameters
$errorHandlerErrors : int

The integer representing the E_* error level which should be

handleError()

Handles an error.

public handleError(int $errorLevel, string $errorMessage, string $errorFile, int $errorLine) : bool

If the error is registered as exceptionalError it will by converted into an exception, to be handled by the configured exceptionhandler. Additionally the error message is written to the configured logs. If application is backend, the error message is also added to the flashMessageQueue, in frontend the error message is displayed in the admin panel (as TsLog message).

Parameters
$errorLevel : int

The error level - one of the E_* constants

$errorMessage : string

The error message

$errorFile : string

Name of the file the error occurred in

$errorLine : int

Line number where the error occurred

Tags
throws
Exception

with the data passed to this method if the error is registered as exceptionalError

Return values
bool

registerErrorHandler()

public registerErrorHandler() : mixed

setDebugMode()

public setDebugMode(bool $debugMode) : mixed
Parameters
$debugMode : bool

setExceptionalErrors()

Defines which error levels should result in an exception thrown.

public setExceptionalErrors(int $exceptionalErrors) : mixed
Parameters
$exceptionalErrors : int

The integer representing the E_* error level to handle as exceptions

createAndEnqueueFlashMessage()

protected createAndEnqueueFlashMessage(string $message, int $errorLevel) : void
Parameters
$message : string
$errorLevel : int

getFormattedLogMessage()

protected getFormattedLogMessage(string $message) : string
Parameters
$message : string
Return values
string

writeLog()

Writes an error in the sys_log table

protected writeLog(string $logMessage, string $logLevel) : mixed
Parameters
$logMessage : string

Default text that follows the message (in english!).

$logLevel : string

The error level, see LogLevel::* constants


        
On this page

Search results