Dexie.ModifyError

Inheritance Hierarchy

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

failuresArray of Error objects of all errors that have occurred
failedKeysArray 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]
successCountNumber 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;
        }
    }
});

Table of Contents