class FinalExceptionSubscriber implements EventSubscriberInterface (View source)

Last-chance handler for exceptions: the final exception subscriber.

This handler will catch any exceptions not caught elsewhere and report them as an error page.

Each format has its own way of handling exceptions:

  • html: exception.default_html, exception.custom_page_html and exception.fast_404_html
  • json: exception.default_json

And when the serialization module is installed, all serialization formats are handled by a single exception subscriber:: serialization.exception.default.

This exception subscriber runs after all the above (it has a lower priority), which makes it the last-chance exception handler. It always sends a plain text response. If it's a displayable error and the error level is configured to be verbose, then a helpful backtrace is also printed.

Traits

Wrapper methods for \Drupal\Core\StringTranslation\TranslationInterface.

Properties

protected TranslationInterface $stringTranslation

The string translation service.

from  StringTranslationTrait
protected string $errorLevel
protected ConfigFactoryInterface $configFactory

The config factory.

Methods

t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

getStringTranslation()

Gets the string translation service.

$this
setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

__construct(ConfigFactoryInterface $config_factory)

Constructs a new FinalExceptionSubscriber.

string
getErrorLevel()

Gets the configured error level.

onException(ExceptionEvent $event)

Handles exceptions for this subscriber.

static 
getSubscribedEvents()

{@inheritdoc}

bool
isErrorLevelVerbose()

Checks whether the error level is verbose or not.

bool
isErrorDisplayable($error)

Wrapper for error_displayable().

The
simplifyFileInError($error)

Attempts to reduce error verbosity in the error message's file path.

Details

protected TranslatableMarkup t(string $string, array $args = [], array $options = [])

Translates a string to the current language or to a given language.

See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for important security information and usage guidelines.

In order for strings to be localized, make them available in one of the ways supported by the

Parameters

string $string

A string containing the English text to translate.

array $args

(optional) An associative array of replacements to make after translation. Based on the first character of the key, the value is escaped and/or themed. See \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for details.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'langcode' (defaults to the current language): A language code, to translate to a language other than what is used to display the page.
  • 'context' (defaults to the empty context): The context the source string belongs to. See the @link i18n Internationalization topic @endlink for more information about string contexts.

Return Value

TranslatableMarkup

An object that, when cast to a string, returns the translated string.

See also

FormattableMarkup::placeholderFormat
TranslatableMarkup::__construct

protected formatPlural($count, $singular, $plural, array $args = [], array $options = [])

Formats a string containing a count of items.

Parameters

$count
$singular
$plural
array $args
array $options

See also

TranslationInterface::formatPlural

protected getNumberOfPlurals($langcode = NULL)

Returns the number of plurals supported by a given language.

Parameters

$langcode

See also

PluralFormulaInterface::getNumberOfPlurals

protected TranslationInterface getStringTranslation()

Gets the string translation service.

Return Value

TranslationInterface

The string translation service.

$this setStringTranslation(TranslationInterface $translation)

Sets the string translation service to use.

Parameters

TranslationInterface $translation

The string translation service.

Return Value

$this

__construct(ConfigFactoryInterface $config_factory)

Constructs a new FinalExceptionSubscriber.

Parameters

ConfigFactoryInterface $config_factory

The configuration factory.

protected string getErrorLevel()

Gets the configured error level.

Return Value

string

onException(ExceptionEvent $event)

Handles exceptions for this subscriber.

Parameters

ExceptionEvent $event

The event to process.

static getSubscribedEvents()

{@inheritdoc}

protected bool isErrorLevelVerbose()

Checks whether the error level is verbose or not.

Return Value

bool

protected bool isErrorDisplayable($error)

Wrapper for error_displayable().

Parameters

$error

Optional error to examine for ERROR_REPORTING_DISPLAY_SOME.

Return Value

bool

See also

error_displayable

protected The simplifyFileInError($error)

Attempts to reduce error verbosity in the error message's file path.

Attempts to reduce verbosity by removing DRUPAL_ROOT from the file path in the message. This does not happen for (false) security.

Parameters

$error

Optional error to examine for ERROR_REPORTING_DISPLAY_SOME.

Return Value

The

updated $error.