@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.