Dexie.BulkError

Inheritance Hierarchy

  • Error

    • Dexie.DexieError

      • Dexie.BulkError

Description

Error that may occur in Table.bulkAdd(), Table.bulkPut() or Table.bulkDelete().

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

Properties

failures
Array of Error objects of all errors that have occurred

failuresByPos (since 3.1.0-alpha.7)

Object that maps each failing operation's position to an error

Properties derived from Error

message

name

Sample

db.friends.bulkAdd([
    {id: "shouldBeUnique", name: "Foo", age: 99},
    {id: "shouldBeUnique", name: "Bar", age: 21}])
.catch('BulkError', err => {
    err.failures.forEach(failure => {
        console.error (failure.message);
    });
    // If on dexie@>3.1.0-alpha.6:
    for (const [pos, error] of Object.entries(err.failuresByPos)) {
      console.error(`Operation ${pos} failed with ${error}`);
    }
});

Note: Catching the error means that the successful operations will be saved. If not catching the error, all operations will be reverted and if there is an ongoing transaction, it will be aborted.