RX0050

Domaine: Exécution

Message d'erreur

data.update[%s, …] refusé : la clé %s n'existe pas — update ne crée jamais ; utilisez data.add

Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.

L'histoire

Vous avez voulu mettre à jour une clé qui n'existe pas, et data.update a refusé. Voyons pourquoi. Dans rush, les deux portes d'écriture sont des miroirs. data.update remplace la valeur d'une clé qui existe déjà, et elle ne crée jamais rien. Si la clé n'existe pas, la porte reste fermée. C'est la garde symétrique de data.add, qui, elle, ne remplace jamais. Un exemple : vous avez un profil avec les clés nom et ville, et vous essayez de mettre à jour age. Il n'y a pas d'âge à mettre à jour, donc c'est refusé. Le même message couvre deux autres cas. Vous donnez une valeur sans étiquette : aucune clé n'est nommée, donc rien à mettre à jour. Ou bien la collection est une liste, qui n'a aucune clé à nommer. Dans ces deux cas, le second emplacement vous dit lequel c'était. Auparavant, tout cela sortait sous un message générique, sans aucune explication. Maintenant, le premier emplacement nomme la collection, et le second la clé, ou la raison de son absence. Pour corriger, vérifiez l'orthographe de la clé. Si vous voulez créer une nouvelle entrée, utilisez data.add.

Texte issu du catalogue d'erreurs du moteur Rush.