So the contract for most dependency injection frameworks I've used is that if the requested type does not exist, they throw an exception. This usually prevents the need to check for null.

So wouldn't a `try/catch` be necessary here?