gpt4 book ai didi

powershell - -ErrorAction 参数被忽略以支持 $ErrorActionPreference

转载 作者:行者123 更新时间:2023-12-04 19:02:05 27 4
gpt4 key购买 nike

两者, $ErrorActionPreference 变量和 -ErrorAction cmdlet 参数应该定义 non-terminating errors 的行为.

由于变量是全局的并且参数特定于 cmdlet 调用,我希望该参数覆盖变量。事实上,我找不到一种情况,其中-ErrorAction做任何事情。

$expression = 'Write-Error "non-terminating error"'

# No exception
$ErrorActionPreference = 'Continue'
Invoke-Expression -Command $expression

# Exception
$ErrorActionPreference = 'Stop'
Invoke-Expression -Command $expression

# No exception, why?
$ErrorActionPreference = 'Continue'
Invoke-Expression -Command $expression -ErrorAction Stop

# Exception, why?
$ErrorActionPreference = 'Stop'
Invoke-Expression -Command $expression -ErrorAction Continue

附言- 我找到了 this question但它更侧重于相关问题而不是优先事项。

最佳答案

-ErrorAction参数适用于应用它的命令产生的错误。在Invoke-Expression (iex)的情况下这意味着在准备调用传递的表达式时遇到错误或在处理结果后遇到错误。但是,它不适用于表达式/命令本身。

在 OP 中,如果您申请 -ErrorActionWrite-Error命令你会得到预期的结果,不管你是否使用 iex .

关于powershell - -ErrorAction 参数被忽略以支持 $ErrorActionPreference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35291329/

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