Windows 从JScript中的异常获取行号

Windows 从JScript中的异常获取行号,windows,jscript,wsh,windows-scripting,Windows,Jscript,Wsh,Windows Scripting,我正在Windows脚本主机(不是web浏览器)中运行以下代码。是否有方法获取发生异常的行号 try { //Exception happens here } catch (e) { //Get line number from 'e'? } 请注意,如果我没有捕获到此异常,默认Windows错误的行号为。请使用以下过程: 插入 论据 错误 布尔值。False是所有属性的默认值。设置为true可允许Windows脚本(.wsf)文件中出现语法错误或运行时错误的错误消息

我正在Windows脚本主机(不是web浏览器)中运行以下代码。是否有方法获取发生异常的行号

try
{
    //Exception happens here
}
catch (e) 
{
    //Get line number from 'e'?
}

请注意,如果我没有捕获到此异常,默认Windows错误的行号为。

请使用以下过程:

  • 插入

    
    
论据

错误

布尔值。False是所有属性的默认值。设置为true可允许Windows脚本(.wsf)文件中出现语法错误或运行时错误的错误消息

调试

布尔值。False是所有属性的默认值。设置为true以启用调试。如果未启用调试,则无法为Windows脚本文件启动脚本调试器


Echo“这是VBScript”
Echo(“这是JScript”);
  • 安装

  • 添加

    HKEY\U当前\U用户\Software\Microsoft\Windows脚本\Settings\JITDebug
    wscript.exe//d
    

    • JScript Error对象没有任何行或列信息,只有
      说明
      消息
      名称
      堆栈
      堆栈跟踪限制
      编号
      。参考信息在这里:

      在我看来,你所问的似乎不可能从WSH脚本中得到。@Bill_Stewart:是的,我觉得也是一样:(谢谢你的确认。虽然这很奇怪,因为WSH引擎本身有这些信息,它可以在自己的错误报告中显示出来。
      <?job error="flag" debug="flag" ?> 
      
      <package>
         <job id="DoneInVBS">
            <?job debug="true"?>
            <script language="VBScript">
               WScript.Echo "This is VBScript"
            </script>
         </job>
      
         <job id="DoneInJS">
            <?job debug="true"?>
            <script language="JScript">
               WScript.Echo("This is JScript"); 
            </script>
         </job>
      </package>
      
      HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings\JITDebug
      
      wscript.exe //d <path to WSH file>