@position, directive
Fournit des informations d'emplacement importantes dans les messages d'erreur.
@set @position(end | [file = fname ;] [line = lnum ;] [column = cnum])
Arguments
fname
Requis si file est utilisé. Littéral de chaîne représentant un nom de fichier, avec ou sans informations de lecteur ou de chemin d'accès.lnum
Requis si line est utilisé. Entier non négatif qui représente une ligne du code créé.cnum
Requis si column est utilisé. Entier non négatif qui représente une colonne dans le code créé.
Notes
Le code de programme écrit par un auteur JScript diffère parfois du code qui est effectivement compilé et exécuté. Les environnements d'hôte, tels qu'ASP.NET, ou les outils de développement peuvent générer leur propre code et l'ajouter au programme. Ce code ne présente généralement aucun intérêt pour l'auteur, mais il est susceptible d'entraîner la confusion pour l'auteur en cas d'erreurs.
Au lieu d'identifier correctement la ligne comportant une erreur dans le code de l'auteur, le compilateur peut identifier de façon erronée une ligne d'erreur qui n'existe même pas dans le code d'origine. En effet, le code supplémentaire généré a changé la position relative du code d'origine de l'auteur.
Exemple
Dans l'exemple suivant, le numéro de ligne d'un fichier a changé pour tenir compte du code inséré dans le code de l'auteur par un hôte JScript. Les numéros de ligne dans la colonne de gauche représentent la source d'origine telle que l'utilisateur la voit.
01 .. // 10 lines of host-inserted code.
.. .. //...
10 .. // End of host-inserted code.
11 .. @set @position(line = 1)
12 01 var i : int = 42;
13 02 var x = ; // Error reported as being on line 2.
14 03 //Remainder of file.