From 1109b0f94b351541fcf7cc95d1b165e8b9ab28c7 Mon Sep 17 00:00:00 2001 From: Michael Schiemer Date: Mon, 3 Nov 2025 13:24:47 +0100 Subject: [PATCH] fix: add error handling for initializer method invocation in InitializerProcessor - Log errors when initializer method invocation fails - Re-throw exception after logging --- src/Framework/Discovery/InitializerProcessor.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Framework/Discovery/InitializerProcessor.php b/src/Framework/Discovery/InitializerProcessor.php index 421c9c32..94b8bf2a 100644 --- a/src/Framework/Discovery/InitializerProcessor.php +++ b/src/Framework/Discovery/InitializerProcessor.php @@ -167,7 +167,13 @@ final readonly class InitializerProcessor $factory = function ($container) use ($className, $methodName, $returnType) { - $instance = $container->invoker->invoke(ClassName::create($className), $methodName); + try { + $instance = $container->invoker->invoke(ClassName::create($className), $methodName); + } catch (\Throwable $e) { + $container->get(Logger::class)->error("Failed to invoke initializer method {$methodName} for class {$className}: {$e->getMessage()}"); + throw $e; + } + // Wenn das ein Interface ist, registriere auch die konkrete Klasse automatisch if (interface_exists($returnType)) {