class ExceptionHandler

ExceptionHandler converts an exception to a Response object.

It is mostly useful in debug mode to replace the default PHP/XDebug output with something prettier and more useful.

As this class is mainly used during Kernel boot, where nothing is yet available, the Response content is always HTML.

Methods

__construct($debug = true, $charset = null, $fileLinkFormat = null)

No description

register(bool $debug = true, string|null $charset = null, string|null $fileLinkFormat = null)

Registers the exception handler.

callable|null
setHandler(callable $handler = null)

Sets a user exception handler.

string
setFileLinkFormat(string|FileLinkFormatter $fileLinkFormat)

Sets the format for links to source files.

handle(Exception $exception)

Sends a response for the given Exception.

sendPhpResponse(Exception|FlattenException $exception)

Sends the error associated with the given Exception as a plain PHP response.

string
getHtml(Exception|FlattenException $exception)

Gets the full HTML content associated with the given exception.

string
getContent(FlattenException $exception)

Gets the HTML content associated with the given exception.

string
getStylesheet(FlattenException $exception)

Gets the stylesheet associated with the given exception.

Details

at line line 39
__construct($debug = true, $charset = null, $fileLinkFormat = null)

Parameters

$debug
$charset
$fileLinkFormat

at line line 55
static ExceptionHandler register(bool $debug = true, string|null $charset = null, string|null $fileLinkFormat = null)

Registers the exception handler.

Parameters

bool $debug Enable/disable debug mode, where the stack trace is displayed
string|null $charset The charset used by exception messages
string|null $fileLinkFormat The IDE link template

Return Value

ExceptionHandler

at line line 75
callable|null setHandler(callable $handler = null)

Sets a user exception handler.

Parameters

callable $handler An handler that will be called on Exception

Return Value

callable|null The previous exception handler if any

at line line 90
string setFileLinkFormat(string|FileLinkFormatter $fileLinkFormat)

Sets the format for links to source files.

Parameters

string|FileLinkFormatter $fileLinkFormat The format for links to source files

Return Value

string The previous file link format

at line line 106
handle(Exception $exception)

Sends a response for the given Exception.

To be as fail-safe as possible, the exception is first handled by our simple exception handler, then by the user exception handler. The latter takes precedence and any output from the former is cancelled, if and only if nothing bad happens in this handling path.

Parameters

Exception $exception

at line line 163
sendPhpResponse(Exception|FlattenException $exception)

Sends the error associated with the given Exception as a plain PHP response.

This method uses plain PHP functions like header() and echo to output the response.

Parameters

Exception|FlattenException $exception An \Exception or FlattenException instance

at line line 187
string getHtml(Exception|FlattenException $exception)

Gets the full HTML content associated with the given exception.

Parameters

Exception|FlattenException $exception An \Exception or FlattenException instance

Return Value

string The HTML content as a string

at line line 203
string getContent(FlattenException $exception)

Gets the HTML content associated with the given exception.

Parameters

FlattenException $exception A FlattenException instance

Return Value

string The content as a string

at line line 271
string getStylesheet(FlattenException $exception)

Gets the stylesheet associated with the given exception.

Parameters

FlattenException $exception A FlattenException instance

Return Value

string The stylesheet as a string