addHtml(Html::tag('pre', $error->getTraceAsString()));
}
return $result;
}
/**
*
* @param Exception|Throwable|string $error
* @return string
*/
public static function render($error)
{
return static::show($error)->render();
}
/**
* @param bool|null $show
* @return bool
*/
public static function showTraces($show = null)
{
if ($show !== null) {
self::$showTraces = (bool) $show;
}
return self::$showTraces;
}
/**
* @deprecated Use {@link get_php_type()} instead
*/
public static function getPhpTypeName($any)
{
return get_php_type($any);
}
/**
* @param Exception|Throwable $exception
* @return string
*/
protected static function createMessageForException($exception)
{
$file = preg_split('/[\/\\\]/', $exception->getFile(), -1, PREG_SPLIT_NO_EMPTY);
$file = array_pop($file);
return sprintf(
'%s (%s:%d)',
$exception->getMessage(),
$file,
$exception->getLine()
);
}
/**
* @param string
* @return HtmlDocument
*/
protected static function renderErrorMessage($message)
{
$output = new HtmlDocument();
$output->addHtml(
Html::tag('div', ['class' => 'exception'], [
Html::tag('h1', [
Html::tag('i', ['class' => 'icon-bug']),
// TODO: Translate? More hints?
'Oops, an error occurred!'
]),
Html::tag('pre', $message)
])
);
return $output;
}
}