DOMException | NN 6 IE s.o DOM 1 |
Certaines opérations sur les objets du DOM W3C peuvent déclencher des erreurs ou, dans le langage JavaScript 1.5, causer des exceptions, si quelque chose se passe mal. Le DOM W3C définit un objet qui comporte un numéro de code correspondant à une liste d´exceptions limitée mais bien définie. Par exemple, si vous essayez d´ajouter un noeud de texte en tant qu´enfant d´un autre noeud de texte, la méthode appendChild() d´une telle opération génère une exception dont le numéro de code est 3. Ce numéro correspond à l´exception qui signale une tentative d´action illégale ou logiquement impossible sur une hiérarchie du DOM (un noeud de texte ne peut pas avoir de noeuds enfants). |
|
La transmission des informations d´exception du DOM à un auteur de script est une t che qui revient à l´environnement hôte, et non au DOM. Comme JavaScript 1.5 possède déjà un mécanisme de traitement des exceptions, c´est à Netscape que revenait la t che consistant à fondre le système DOMException et le traitement des exceptions JavaScript , tel qu´il est implémenté dans Netscape 6. Ce nouveau mécanisme permet à des types d´objets d´erreur différents de circuler dans les opérations de traitement des erreurs, laissant ainsi le système original intact, tout en élargissant le mécanisme pour accueillir non seulement l´objet DOMException du DOM W3C, mais aussi des erreurs spécifiques à Netscape. Le traitement des exceptions continue à avoir lieu dans le bloc catch d´une construction try/catch et toutes les informations concernant l´exception sont transmises au bloc catch comme un objet via un seul paramètre. |
|
L´objet d´exception du DOM de Netscape (qui trouve son application dans l´objet DOMException W3C) arrive au bloc catch avec une liste de propriétés et méthodes associées plus longue qu´une exception provenant d´autres causes (par exemple, essai d´utilisation d´une variable JavaScript n´ayant pas été initialisée). La propriété distinctive d´un objet DOMException, et qui est absente des autres types, est la propriété code. De plus, toute valeur de code comprise entre 1 et 15 indique un type d´exception connu de la spécification du DOM officielle jusqu´au niveau 2. D´autres exceptions seront très probablement ajoutées à la liste ultérieurement. Netscape utilise des numéros de code commençant à 1000 pour sa liste d´exceptions spécifiques au navigateur. |
|
Si vous voulez traiter de véritables exceptions du DOM W3C conformément à leur propre chemin d´exécution, vous pouvez utiliser une construction similaire à celle qui suit (qui permet à la liste DOMException de grossir jusqu´à 999 dans les itérations futures): try { // your DOM-related statement goes here } catch(e) { if (typeof e.code == "number") { if (e.code< 1000) { // process DOMException object here } else { // process Netscape DOM exception object here } } else { // process language or other exceptions here } } |
|
Bien sûr, il est très peu probable que les détails des exceptions soient d´une quelconque utilité pour les utilisateurs, mais elles vous seront extrêmement précieuses pendant le développement. Pour de plus amples détails sur le traitement des exceptions, reportez-vous à l´objet error dans le chapitre 12. |
|
Référence de modèle d'objet | |
errorObjectReference
|
|
Propriétés spécifiques à l´objet | |
code |
|
Méthodes spécifiques à l´objet | |
Aucune. |
|
Propriétés de gestionnaire d´événements spécifiques à l´objet | |
Aucune. |
code | NN 6 IE s.o DOM 1 | |||||||||||||||||||||||||||||||||||||||||||||||
Lecture seule | ||||||||||||||||||||||||||||||||||||||||||||||||
Fournit un nombre entier correspondant à l´un des types d´erreurs du DOM définis. Le tableau suivant répertorie toutes les valeurs de code, les constantes équivalentes et des exemples des types de problèmes qui génèrent l´exception. |
||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||
Exemple | ||||||||||||||||||||||||||||||||||||||||||||||||
if (e.code == e.INVALID_CHARACTER_ERR) { // process for an illegal identifier character } |
||||||||||||||||||||||||||||||||||||||||||||||||
Valeur | ||||||||||||||||||||||||||||||||||||||||||||||||
Nombre entier |
||||||||||||||||||||||||||||||||||||||||||||||||
Par défaut | ||||||||||||||||||||||||||||||||||||||||||||||||
Déterminé par l´erreur. |