Direttiva @position
Aggiornamento: novembre 2007
Fornisce informazioni significative sulla posizione nei messaggi di errore.
@set @position(end | [file = fname ;] [line = lnum ;] [column = cnum])
Argomenti
fname
Obbligatorio se è presente file. Valore letterale stringa che indica un nome di file, con o senza informazioni sull'unità o il percorso.lnum
Obbligatorio se è presente line. Qualsiasi valore integer non negativo che rappresenta una riga di codice scritto dall'autore.cnum
Obbligatorio se è presente column. Qualsiasi valore integer non negativo che rappresenta una colonna nel codice scritto dall'autore.
Note
Talvolta il codice di programma scritto da un autore JScript differisce dal codice effettivamente compilato ed eseguito. Gli ambienti host, quali ASP.NET, o gli strumenti di sviluppo possono generare codice specifico e aggiungerlo al programma. Si tratta di codice che in genere non riveste alcuna importanza per l'autore, ma potrebbe generare confusione nel momento in cui si verificano errori.
In queste situazioni, invece di individuare in modo corretto la riga di codice dell'autore nella quale si è verificato un errore, il compilatore potrebbe identificare un errore appartenente a una riga che in realtà non era presente nel codice originale dell'autore. Questo problema si verifica perché il codice aggiuntivo generato dagli host o dagli strumenti di sviluppo ha modificato la posizione relativa del codice originale dell'autore.
Esempio
Nell'esempio seguente viene modificato il numero di righe in un file per fare spazio al nuovo codice inserito nel codice dell'autore da un host JScript. I numeri di riga nella colonna di sinistra rappresentano quelli del codice di origine visualizzati dall'utente.
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.