+ try {
+ foreach ($this->passConfig->getPasses() as $pass) {
+ $pass->process($container);
+ }
+ } catch (\Exception $e) {
+ $usedEnvs = array();
+ $prev = $e;
+
+ do {
+ $msg = $prev->getMessage();
+
+ if ($msg !== $resolvedMsg = $container->resolveEnvPlaceholders($msg, null, $usedEnvs)) {
+ $r = new \ReflectionProperty($prev, 'message');
+ $r->setAccessible(true);
+ $r->setValue($prev, $resolvedMsg);
+ }
+ } while ($prev = $prev->getPrevious());
+
+ if ($usedEnvs) {
+ $e = new EnvParameterException($usedEnvs, $e);
+ }
+
+ throw $e;