[Config] Improve exception messages

This commit is contained in:
Nyholm 2021-04-21 12:45:36 +02:00
parent be384cf221
commit 187562f385
No known key found for this signature in database
GPG Key ID: D6332DE2B6F8FA38

View File

@ -102,7 +102,7 @@ class PhpFileLoader extends FileLoader
foreach ($parameters as $parameter) { foreach ($parameters as $parameter) {
$reflectionType = $parameter->getType(); $reflectionType = $parameter->getType();
if (!$reflectionType instanceof \ReflectionNamedType) { if (!$reflectionType instanceof \ReflectionNamedType) {
throw new \InvalidArgumentException(sprintf('Could not resolve argument "%s" for "%s".', $parameter->getName(), $path)); throw new \InvalidArgumentException(sprintf('Could not resolve argument "$%s" for "%s".', $parameter->getName(), $path));
} }
$type = $reflectionType->getName(); $type = $reflectionType->getName();
@ -121,7 +121,7 @@ class PhpFileLoader extends FileLoader
try { try {
$configBuilder = $this->configBuilder($type); $configBuilder = $this->configBuilder($type);
} catch (InvalidArgumentException | \LogicException $e) { } catch (InvalidArgumentException | \LogicException $e) {
throw new \InvalidArgumentException(sprintf('Could not resolve argument "%s" for "%s".', $type.' '.$parameter->getName(), $path), 0, $e); throw new \InvalidArgumentException(sprintf('Could not resolve argument "%s" for "%s".', $type.' $'.$parameter->getName(), $path), 0, $e);
} }
$configBuilders[] = $configBuilder; $configBuilders[] = $configBuilder;
$arguments[] = $configBuilder; $arguments[] = $configBuilder;
@ -164,7 +164,7 @@ class PhpFileLoader extends FileLoader
if (!$this->container->hasExtension($alias)) { if (!$this->container->hasExtension($alias)) {
$extensions = array_filter(array_map(function (ExtensionInterface $ext) { return $ext->getAlias(); }, $this->container->getExtensions())); $extensions = array_filter(array_map(function (ExtensionInterface $ext) { return $ext->getAlias(); }, $this->container->getExtensions()));
throw new InvalidArgumentException(sprintf('There is no extension able to load the configuration for "%s". Looked for namespace "%s", found "%s".', $namespace, $namespace, $extensions ? implode('", "', $extensions) : 'none')); throw new InvalidArgumentException(sprintf('There is no extension able to load the configuration for "%s". Looked for namespace "%s", found "%s".', $namespace, $alias, $extensions ? implode('", "', $extensions) : 'none'));
} }
$extension = $this->container->getExtension($alias); $extension = $this->container->getExtension($alias);