Add errorHandler option to DataObject.prototype.save()

This allows calling code to do something other than call Zotero.debug()
on errors (like, say, nothing, in order to avoid logging certain
expected errors) before throwing.
This commit is contained in:
Dan Stillman 2015-05-07 17:10:13 -04:00
parent 47f3c1efe6
commit 67abbc8c4a

View File

@ -584,9 +584,10 @@ Zotero.DataObject.prototype.save = Zotero.Promise.coroutine(function* (options)
Zotero.debug(e2, 1);
})
.then(function() {
// Don't log expected errors
if (e.name != 'ZoteroUnknownFieldError'
&& e.name != 'ZoteroMissingObjectError') {
if (options.errorHandler(e)) {
options.errorHandler(e);
}
else {
Zotero.debug(e, 1);
}
throw e;