0
認爲劇本獲取其中寫入錯誤發生
$someComplexCondition = $false
if ($someComplexCondition)
{
Write-Error -Message "Some complex condition"
}
else
{
Write-Error -Message "Other complex condition"
}
當我運行它,它說
C:\Dev> .\MyScript.ps1
C:\Dev\MyScript.ps1 : Other complex condition
At line:1 char:15
+ .\MyScript.ps1 <<<<
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,MyScript.ps1
行號而且我注意到,寫入錯誤始終報告本身作爲在行:1 根據堆棧跟蹤,它看起來像它的行#1,因爲它從shell中調用,更有趣char:15 be導致
".\MyScript.ps1 ".Length -eq 15
如果改變文件名,這焦炭:15也將相應變化。
問題是如何得到錯誤發生時的實際行。
在我們的情況下,我想獲得行:9
我使用** **扔在我自己的腳本。我的問題的原因是當您使用某些使用**寫入錯誤**的第三方。當它失敗時,最好能夠快速識別確切的位置 – mnaoumov
有幾種方法可以通過修改MyScript.ps1來糾正錯誤。問題來自這個腳本正在使用寫入錯誤的事實。如果您無法修改MyScript.ps1,則無法有效解決此問題。 –
太糟糕了......這是我的樣板腳本標題缺少的唯一東西,用於改善腳本體驗 – mnaoumov