[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/API/IDBRequest/error [Back]  [Original]

IDBRequest: error-Eigenschaft - Web-APIs | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

IDBRequest: error-Eigenschaft

Baseline
Weitgehend verfgbar
*

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.

* Einige Teile dieser Funktion werden mglicherweise unterschiedlich gut untersttzt.

Hinweis: Diese Funktion ist in Web Workers verfgbar.

Die error schreibgeschtzte Eigenschaft der IDBRequest-Schnittstelle gibt den Fehler im Fall einer nicht erfolgreichen Anforderung zurck.

In diesem Artikel

Wert

Eine DOMException oder null, wenn kein Fehler vorliegt. Das Ausnahmeobjekt hat einen der folgenden Namen, je nachdem, was den Fehler verursacht hat.

Diese Fehler sind asynchron, was bedeutet, dass sie nicht ber try...catch behandelt werden knnen. Wenn jedoch ein IDBRequest einen error-Ereignishandler zugewiesen hat, knnen Sie solche Fehler dennoch prfen, indem Sie die error-Eigenschaft der Anforderung ber das Ereignisobjekt abfragen, zum Beispiel event.target.error.name oder event.target.error.message.

AbortError

Wenn Sie die Transaktion abbrechen, erhalten alle noch in Bearbeitung befindlichen Anforderungen diesen Fehler.

ConstraintError

Erhalten, wenn Sie Daten einfgen, die beim Befllen von Speichern nicht einer Einschrnkung entsprechen. Zum Beispiel erhalten Sie diesen Fehler, wenn Sie versuchen, einen neuen Schlssel hinzuzufgen, der im Speicher bereits existiert.

NotReadableError

Erhalten bei nicht wiederherstellbaren Leseproblemen. Speziell signalisiert dieser Fehler, dass der Datensatz in der Datenbank vorhanden ist, der Wert jedoch nicht abgerufen werden konnte. Siehe bergangsfehler und nicht wiederherstellbare Lesefehler unten fr weitere Details.

QuotaExceededError

Erhalten, wenn die Anwendung das Festplattenkontingent berschreitet. In einigen Fllen fordert der Browser den Benutzer auf, mehr Speicherplatz zu genehmigen, und der Fehler wird empfangen, wenn er die Anfrage ablehnt. In anderen Fllen verwendet der Browser Heuristiken, um zu bestimmen, ob mehr Speicherplatz zugeteilt werden kann.

UnknownError

Erhalten bei bergangs-Lesefehlern, einschlielich allgemeiner Disk-IO-Fehler. Siehe bergangsfehler und nicht wiederherstellbare Lesefehler unten fr weitere Details.

VersionError

Erhalten, wenn Sie versuchen, eine Datenbank mit einer niedrigeren Version zu ffnen, als sie bereits hat.

bergangsfehler und nicht wiederherstellbare Lesefehler

Lesefehler treten auf, wenn IndexedDB Werte speichert und es dann nicht gelingt, diese Werte zu lesen, obwohl die zugehrigen Datenstze noch in der Datenbank vorhanden sind.

Lesefehler knnen eine von zwei Typen sein vorbergehend oder nicht wiederherstellbar:

Vorbergehende Lesefehler werden durch einen UnknownError-Typ signalisiert und werden normalerweise durch wenig Speicher verursacht. Dies sollte bei kleinen Datenbanken kein Problem darstellen. Um Situationen mit wenig Speicher in groen Datenbanken zu vermeiden, versuchen Sie, den Datenbankzugriff so zu teilen, dass nur die bentigten Datenstze jeweils geladen werden, zum Beispiel durch die Verwendung spezifischer Schlsselbereiche im Zusammenhang mit einer Suchanfrage eines Benutzers oder einem Seitenmechanismus. Wenn ein niedriger Speicherfehler auftritt, kann der Benutzer mglicherweise aufgefordert werden, andere Anwendungen zu schlieen, um auf Betriebssystemebene Speicherplatz freizugeben.

Nicht wiederherstellbare Lesefehler werden durch einen NotReadableError-Typ signalisiert und werden verursacht, indem Quelldateien gelscht werden.

Zum Beispiel speichern einige Browser groe Werte (zum Beispiel Audio-Dateiblobs fr eine Offline-Podcast-App) als separate Dateien, die ber einen in der Datenbank gespeicherten Verweis zugegriffen werden. Es wurde beobachtet, dass diese separaten Dateien gelscht werden knnen, da sie Benutzern als undurchsichtige Dateien angezeigt werden, wenn sie Festplattenspeicher-Wiederherstellungsprogramme verwenden, was zu nicht wiederherstellbaren Lesefehlern fhrt, wenn das nchste Mal auf IndexedDB zugegriffen wird.

Mgliche Korrekturmanahmen fr nicht wiederherstellbare Lesefehler knnen das Benachrichtigen des Benutzers, das Lschen des Eintrags aus der Datenbank und das erneute Abrufen der Daten vom Server umfassen.

Ausnahmen

InvalidStateError DOMException

Ausgelst, wenn versucht wird, auf die Eigenschaft zuzugreifen, wenn die Anfrage nicht abgeschlossen ist und der Fehler daher nicht verfgbar ist.

Beispiele

Im folgenden Beispiel wird ein bestimmter Datensatztitel angefordert, beim onsuccess wird der zugehrige Datensatz aus dem IDBObjectStore abgerufen (verfgbar als objectStoreTitleRequest.result), eine Eigenschaft des Datensatzes aktualisiert und dann der aktualisierte Datensatz wieder in den Object Store eingefgt. Unten ist auch eine onerror-Funktion enthalten, die meldet, was der Fehler war, wenn die Anfrage fehlschlgt. Fr ein vollstndiges funktionierendes Beispiel siehe unsere To-do Notifications-App (Sehen Sie sich das Beispiel live an).

js
const title = "Walk dog";

// Open up a transaction as usual
const objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// Get the to-do list with the specified title
const objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = () => {
  // Grab the data object returned as the result
  const data = objectStoreTitleRequest.result;

  // Update the notified value in the object to "yes"
  data.notified = "yes";

  // Create another request that inserts the item
  // back into the database
  const updateTitleRequest = objectStore.put(data);

  // When this new request succeeds, run the displayData()
  // function again to update the display
  updateTitleRequest.onsuccess = () => {
    displayData();
  };
};

objectStoreTitleRequest.onerror = () => {
  // If an error occurs with the request, log what it is
  console.log(
    `There has been an error with retrieving your data:
    ${objectStoreTitleRequest.error.name}: ${objectStoreTitleRequest.error.message}`,
  );
};

Spezifikationen

Spezifikation
Indexed Database API 3.0
# ref-for-dom-idbrequest-error

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page