The *current* code already throws an InvalidArgumentException. So the current code behavior isn't changed in anyway. The discussion of changing the type of Exception thrown by MongoDB is definitely worth having, but seems orthogonal to the intent of this PR.

What is your take on using the EventManager to provide hooks into exceptions raised by MongoDB? Do you think it is a good strategy?