-
+ {% if CONTAINER_EXCEPTION !== false %}
-
-
+ {% endif %}
diff --git a/phpBB/phpbb/di/container_builder.php b/phpBB/phpbb/di/container_builder.php
index d90f78c0d9..433847b285 100644
--- a/phpBB/phpbb/di/container_builder.php
+++ b/phpBB/phpbb/di/container_builder.php
@@ -107,6 +107,9 @@ class container_builder
*/
private $container_extensions;
+ /** @var \Exception */
+ private $build_exception;
+
/**
* Constructor
*
@@ -126,7 +129,8 @@ class container_builder
*/
public function get_container()
{
- try {
+ try
+ {
$container_filename = $this->get_container_filename();
$config_cache = new ConfigCache($container_filename, defined('DEBUG'));
if ($this->use_cache && $config_cache->isFresh())
@@ -197,8 +201,10 @@ class container_builder
throw $e;
}
- try
+ if ($this->build_exception === null)
{
+ $this->build_exception = $e;
+
return $this
->without_extensions()
->without_cache()
@@ -207,10 +213,10 @@ class container_builder
]))
->get_container();
}
- catch (\Exception $_)
+ else
{
// Rethrow the original exception if it's still failing
- throw $e;
+ throw $this->build_exception;
}
}
}
{L_CONTAINER_EXCEPTION}
-{L_EXCEPTION}{L_COLON} {{ CONTAINER_EXCEPTION.getMessage() }}
+{{ lang('CONTAINER_EXCEPTION') }}
+{{ lang('EXCEPTION') }}{{ lang('COLON') }} {{ CONTAINER_EXCEPTION.getMessage() }}
{{ CONTAINER_EXCEPTION.getTraceAsString() }}