Powershell 如何显示因写入错误引发异常的位置?

Powershell 如何显示因写入错误引发异常的位置?,powershell,Powershell,考虑以下代码段: function fail { throw "simulated failure" } fail 运行脚本时,默认异常处理打印引发异常的行和命令: simulated failure At D:\tmp\Untitled1.ps1:2 char:10 + throw <<<< "simulated failure" + CategoryInfo : OperationStopped: (simulated f

考虑以下代码段:

function fail {
    throw "simulated failure"
}
fail
运行脚本时,默认异常处理打印引发异常的行和命令:

simulated failure
At D:\tmp\Untitled1.ps1:2 char:10
+     throw <<<<  "simulated failure"
    + CategoryInfo          : OperationStopped: (simulated failure:String) [],     RuntimeException
    + FullyQualifiedErrorId : simulated failure
Write Error的输出仅告诉我错误发生在脚本内部:

D:\tmp\Untitled2.ps1 : simulated failure
At line:1 char:16
+ .\Untitled2.ps1 <<<<
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Untitled2.ps1
D:\tmp\Untitled2.ps1:模拟故障
第1行字符:16

+.\Untitled2.ps1结果证明这是微不足道的。我不应该使用Write Error,而是直接输出异常:

function fail {
    throw "simulated failure"
}
try {
    fail
} catch {
    $_
    exit 1
}
输出为:

simulated failure
At D:\tmp\Untitled2.ps1:2 char:14
+         throw <<<<  "simulated failure"
    + CategoryInfo          : OperationStopped: (simulated failure:String) [], RuntimeException
    + FullyQualifiedErrorId : simulated failure
模拟故障
位于D:\tmp\Untitled2.ps1:2字符:14

+结果证明这是微不足道的。我不应该使用Write Error,而是直接输出异常:

function fail {
    throw "simulated failure"
}
try {
    fail
} catch {
    $_
    exit 1
}
输出为:

simulated failure
At D:\tmp\Untitled2.ps1:2 char:14
+         throw <<<<  "simulated failure"
    + CategoryInfo          : OperationStopped: (simulated failure:String) [], RuntimeException
    + FullyQualifiedErrorId : simulated failure
模拟故障
位于D:\tmp\Untitled2.ps1:2字符:14

+不幸的是,我们遇到了同样的问题。您是否知道当前是否存在处理重定向的等效写入错误?不幸的是,遇到了相同的问题。您是否知道当前是否存在处理重定向的等效写入错误?