What's the deal with the setting exception modes here? Not passing in the right arguments should throw a warning and return NULL. This is what (almost) all PHP functions/methods do and expected behaviour.