public static function Error::renderExceptionSafe in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Utility/Error.php \Drupal\Core\Utility\Error::renderExceptionSafe()
Renders an exception error message without further exceptions.
Parameters
\Exception|\Throwable $exception: The exception object that was thrown.
Return value
string An error message.
3 calls to Error::renderExceptionSafe()
- SessionHandler::write in core/
lib/ Drupal/ Core/ Session/ SessionHandler.php - _drupal_exception_handler_additional in core/
includes/ bootstrap.inc - Displays any additional errors caught while handling an exception.
- _drupal_shutdown_function_handle_exception in core/
includes/ bootstrap.inc - Displays and logs any errors that may happen during shutdown.
File
- core/
lib/ Drupal/ Core/ Utility/ Error.php, line 87
Class
- Error
- Drupal error utility class.
Namespace
Drupal\Core\UtilityCode
public static function renderExceptionSafe($exception) {
$decode = static::decodeException($exception);
$backtrace = $decode['backtrace'];
unset($decode['backtrace']);
// Remove 'main()'.
array_shift($backtrace);
// Even though it is possible that this method is called on a public-facing
// site, it is only called when the exception handler itself threw an
// exception, which normally means that a code change caused the system to
// no longer function correctly (as opposed to a user-triggered error), so
// we assume that it is safe to include a verbose backtrace.
$decode['@backtrace'] = Error::formatBacktrace($backtrace);
return new FormattableMarkup('%type: @message in %function (line %line of %file). <pre class="backtrace">@backtrace</pre>', $decode);
}