Skip to content

Dexie.ModifyError

David Fahlander edited this page Mar 14, 2016 · 10 revisions

Inheritance Hierarchy

  • Error
    • Dexie.ModifyError

Description

Error that may occur in WriteableCollection.modify() and WriteableCollection.delete()

The methods that may throw this error can perform mulpiple operations on a collection. Therefore this error object will contain an array of the errors the occurred during the failed operations.

Properies

failures Array of Error objects of all errors that have occurred
failedKeys Array of the keys of the failed modifications. This array will have the same order as failures so that failures[i] will always represent the failure of failedKeys[i]
successCount Number of successful modifications made. NOTE: Only useful in case error is catched and transaction is not aborted.

Properties derived from Error

Sample

db.friends.where('name').startsWith('a').delete ()
    .catch(Dexie.ModifyError, function (err) {
        err.failures.forEach(function (failure) {
        console.error (failure.stack || failure.message);
    });
});

With yield

db.transaction('rw', db.friends, function* ()=> {
    try {
        var numDeleted = yield db.friends.where('name').startsWithIgnoreCase('a').delete();
    } catch (err) {
        if (err instanceof Dexie.ModifyError) {
            // Handle ModifyErrors explicitely
            err.failures.forEach(function (failure) {
            console.error (failure.stack || failure.message);
        } else {
            // Rethrow error of other types to ensure transaction is cancelled.
            throw e;
        ]
    }
});
Clone this wiki locally