IDBRequest.error

Cet article nécessite une relecture technique. Voici comment vous pouvez aider.

Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.

La propriété error de l'interface IDBRequest indique le code de l'erreur survenue durant le traitement de la requête. Si la requête est en cours l'exception InvalidStateError est levée.

Note : This feature is available in Web Workers.

Syntaxe

var myError = request.error;

Valeur

Une DOMError contenant l'erreur correspondante. Dans Chrome 48+ cette propriété renvoie un DOMException parceque DOMError a été retiré du standard DOM. Les codes d'erreur suivants sont renvoyés sous certaines conditions:

Erreur Explication
AbortError L'annulation d'une transaction provoque cette erreur sur toutes les requêtes en traitement.
ConstraintError Si vous insérez les données qui ne se conforment pas à une contrainte. C'est un type d'exception pour créer des magasins et des index. Vous obtenez cette erreur, par exemple, si vous essayez d'ajouter une nouvelle clef qui existe déjà.
QuotaExceededError Si vous êtes à court d'espace disque et que l'utilisateur a refusé de vous en accorder plus.
UnknownError Si l'opération échoue sans raison connue de la base de données elle-même. Un échec en raison d'erreurs IO sur le disque par exemple.
NoError Si la requête réussit.
VersionError Si on essaiye d'ouvrir une base de données avec une version inferieure à la version actuelle.

En plus de ces codes d'erreurs envoyés à l'objet IDBRequest, les opérations asynchrones peuvent aussi lever des exceptions. La liste décrit les problèmes qui peuvent arriver durant l'exécution de la requête, mais on peut également trouver d'autres problèmes quand la requête est faite. Par exemple, si la requête échoue et que le résultat est indisponible, l'exception InvalidStateError est levé.

Exemple

L'exemple suivant demande un titre d'enregistrement donné, onSuccess obtient l'enregistrement associé de IDBObjectStore (mis à disposition en tant que objectStoreTitleRequest.result), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas est une fonction onerror qui affiche le code d'erreur si la requête échoue. Pour un exemple de travail complet, voir notre To-do Notifications app (view example live.)

var title = "Walk dog";

// Ouvrez une transaction comme d'habitude
var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');

// Obtenez l'objet toDoList qui a ce titre
var objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function() {
  // Prenez l'objet de données renvoyé comme résultat
  var data = objectStoreTitleRequest.result;

  // Mettre à jour la valeur notified de l'objet à "yes"
  data.notified = "yes";

  // Créer une autre requête qui insère le nouvelle élément dans la base de données
  var updateTitleRequest = objectStore.put(data);

  // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage
  updateTitleRequest.onsuccess = function() {
    displayData();
  };
};

objectStoreTitleRequest.onerror = function() {
  // Si une erreur se produit à la demande, on l'affiche
  console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error);
};

Spécifications

Spécification Statut Commentaire
Indexed Database API
La définition de 'error' dans cette spécification.
Recommendation  

Compatibilité avec les navigateurs

Fonctionnnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support basique 23webkit
24
10 moz
16.0 (16.0)
10, en partie 15 7.1
Disponible dans workers (Oui) 37.0 (37.0) ? (Oui) ?
Fonctionnalité Android Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Support basique 4.4 22.0 (22.0) 1.0.1 10 22 8
Disponible dans workers (Oui) 37.0 (37.0) (Oui) ? (Oui) ?

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : gadgino
 Dernière mise à jour par : gadgino,