Properly handles NPError reporting and makes sure that, in the case of failure, it does not return junk for the NPObject.