我使用陷阱将错误写入文件,并希望在发生错误的地方写入行号。

$_.Exception.StackTrace is not answer.

在哪里可以获得错误的行号?也许一些预定义的变量?

最佳答案

您可以从InvocationInfo上的$_对象检索行号。例如,脚本...

"Hello, World!"

function foo() {
  trap [Exception] {
    $_.InvocationInfo.ScriptLineNumber
    $_.InvocationInfo.OffsetInLine
    continue;
  }

  [reflection.assembly]::loadfrom("C:\")
}

foo

...生成输出:
Hello, World!
10
34

关于powershell - 如何在Powershell的陷阱中获取有错误的行号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3457619/

10-14 03:55