throw "real" exceptions when passing bad parameters to update/replace/remove/exists