An index property (or primary key) was of the wrong type (not an indexable). This happens when:
...adding a new object to a table where its primary key is not an indexable type)
...querying by index, where the argument is not an indexable type)
Sample
const db = new Dexie('testdb');
db.version(1).stores({
foo: 'id,bar'
});
db.foo.put({id: null}); // fails with DataError because null is not indexable.
db.foo.put({id: 1, bar: null}); // succeeds but won't generate any "bar" index.
db.foo.where('bar').equals(undefined).toArray(); // Fails with DataError since undefined is not indexable.
Sample using Promise.catch()
doSomeDatabaseWork().then(result => {
// Success
}).catch('DataError', e => {
// Failed with DataError
console.error ("Data error: " + e.message);
}).catch(Error, e => {
// Any other error derived from standard Error
console.error ("Error: " + e.message);
}).catch(e => {
// Other error such as a string was thrown
console.error (e);
});