@position ディレクティブ
わかりやすい位置情報をエラー メッセージに表示します。
@set @position(end | [file = fname ;] [line = lnum ;] [column = cnum])
引数
fname
file がある場合は、必ず指定します。 ファイル名を表すリテラル文字列で、ドライブまたはパス情報も指定できます。lnum
line がある場合は、必ず指定します。 コードの行を表す正の整数。cnum
column がある場合は、必ず指定します。 コードの列を表す正の整数。
解説
JScript コードの作成者が記述するプログラム コードと、コンパイルされて実行される実際のコードは異なる場合があります。 これは、ASP.NET などのホスト環境や開発ツールが独自のコードを生成し、プログラムに追加することがあるためです。 一般的に、このようなコードは作成者に関係ありませんが、エラーが発生したときに混乱を招く可能性があります。
コンパイラが、エラーの発生した行を作成者のコードで正しく識別する代わりに、元のコードに存在しない行を誤って識別する場合があります。 これは、生成された追加コードによって、元のコードの相対位置が変更されているためです。
使用例
次の例では、ファイルの行番号が、JScript ホストによって挿入されたコードに合わせて変更されています。 左の列の行番号が、開発者に対して表示される元のソースの行番号です。
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.