@position ディレクティブ
更新 : 2007 年 11 月
わかりやすい位置情報をエラー メッセージに表示します。
@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.