Quantcast
Channel: CommonServiceLocator
Viewing all articles
Browse latest Browse all 118

Commented Issue: ServiceLocator.Current throws NullReferenceException [9676]

$
0
0
When no IoC container is registered using ServiceLocator.SetLocatorProvider(ServiceLocatorProvider) the Current property will throw a NullReferenceException. Throwing a NullReferenceException is always a bad thing for a reusable framework such as CSL, or to quote the Framework Design Guidelines: "DO NOT allow publicly callable APIs to explicitly or implicitly throw NullReferenceException".

The Current property should check if the currentProvider delegate is null and if so, throw an InvalidOperationException with an expressive exception message, explaining what is wrong and what should be done to resolve this issue.
Comments: ** Comment from web user: thoughtcriminal **

It should return null, throwing exceptions is a bad idea in this case.
Catching NullReferenceException is not reliable (not to mention perf).


Viewing all articles
Browse latest Browse all 118

Trending Articles