gpt4 book ai didi

powershell - 为什么我不能捕捉到我的非终止错误?

转载 作者:行者123 更新时间:2023-12-03 00:57:34 24 4
gpt4 key购买 nike

我想给别人看一个例子,说明如何在PowerShell中捕获非终止错误。

我创建了这个功能:

# This will write a non-terminating error
function NonTerminatingErrorExample {
Param($i = 5)
if ($i -gt 4) {
Write-Error "I expected a value less or equal to 4!"
}
Write-Host "However, I can still continue the execution"
}

但是,我无法用 -ErrorAction Stop捕获它
Try {
NonTerminatingErrorExample -ErrorAction Stop
} Catch {
Write-Host "Now you see this message."
}

我从来没有得到过返回的捕获块。为什么?
NonTerminatingErrorExample : I expected a value less or equal to 4!
In Zeile:32 Zeichen:5
+ NonTerminatingErrorExample -ErrorAction Stop
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,NonTerminatingErrorExample

However, I can still continue the execution

最佳答案

您的函数不是cmdlet,因此不支持-ErrorAction。将[CmdletBinding()]添加到主体以使其成为一体,并且将支持该参数。如果同时使用Get-Help和两个版本,则可以看到区别:作为一个函数,没有[<CommonParameters>]

关于powershell - 为什么我不能捕捉到我的非终止错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60863702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com