Все определения должны выбрасывать Kaspi\DiContainer\Interfaces\Exceptions\DiDefinitionExceptionInterface.
Сам интерфейс должен содержать метод Kaspi\DiContainer\Interfaces\Exceptions\DiDefinitionExceptionInterface::getContext() для анализа или возможной записи в лог. Реализовывать будем через интерфейс (как дополнительная имплементация)
interface ContextExceptionInterface extends ContainerExceptionInterface
{
/**
* @return array<non-negative-int|string, mixed>
*/
public function getContext(): array;
public function setContext(mixed ...$context): self;
}