gpt4 book ai didi

powershell - 计算属性不会在 Powershell 中抛出异常。有哪些解决方法?

转载 作者:行者123 更新时间:2023-12-03 10:05:32 30 4
gpt4 key购买 nike

显然有一个 by design quirk在 Powershell 中防止在 Calculated Property 中抛出的异常表情冒泡起来。所发生的只是计算属性的值最终为空。

function Get-KBValue() {
# Some Logic here that can throw an exception
}

....

Get-ChildItem C:\Test |
Select-Object Name, CreationTime, @{Name="Kbytes"; Expression={ Get-KBValue }}

如果 Get-KBValue 函数抛出异常,则 Kbytes 属性的值将设置为 $null 并且脚本继续。

可能的解决方法:

  • 在表达式中使用 try/catch{break}(@C.B. 建议)
  • 之后进行验证。虽然这可能会因为 $null 在某些情况下可能有效而变得复杂。
  • 使用自定义对象而不是计算属性。但这不是很好。

有什么想法吗?

最佳答案

在表达式中使用 try/catch 可以帮助您吗?

10..0 | SELECT @{n="Value";e={ try { 10/$_ } catch { "error: $_" }}}

关于powershell - 计算属性不会在 Powershell 中抛出异常。有哪些解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16482316/

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