The constructors of any non-singleton DI services supplied to the component's constructor via the @inject directive or the [Inject] attribute are invoked. An error in an executed constructor or a setter for any [Inject] property results in an unhandled exception and stops the framework from instantiating the component. If constructor logic may throw exceptions, the app should trap the exceptions using a try-catch statement with error handling and logging.