Dexie.ModifyError

Inheritance Hierarchy

  • Error

    • Dexie.DexieError

      • Dexie.ModifyError

Description

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

The methods that may throw this error can perform multiple 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 caught and transaction is not aborted.

Properties derived from Error

message

name

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 explicitly
            err.failures.forEach(function (failure) {
            console.error (failure.stack || failure.message);
        } else {
            // Rethrow error of other types to ensure transaction is cancelled.
            throw e;
        }
    }
});