【问题标题】:What's the idea behind using try with `catch { throw }`?使用 try 和 `catch { throw }` 背后的想法是什么?
【发布时间】:2013-02-27 17:37:54
【问题描述】:

如果我这样做,在 PowerShell v2.0 中:

gc function:\mkdir

我得到一些包含以下内容的代码:

try {
    $steppablePipeline.End()
} catch {
    throw
}

try/catch/throw 这里的意思是什么?

【问题讨论】:

  • 只是一个猜测,但也许它看起来像是throw 语句引发的异常?

标签: powershell-2.0


【解决方案1】:

当您使用内置工具创建代理函数时,该函数是另一个(或 cmdlet)的包装器(参见 here 示例),生成的代码包含该代码。它旨在允许轻松修改,但如果生成的代码足够,那为什么要更改它呢?

【讨论】:

  • 那么mkdir只是用文中提到的工具生成的New-Item的代理函数?
  • @KonstantinSpirin 确实是这样。进行了最低限度的编辑以删除-Type 参数并将其更改为固定值。
猜你喜欢
  • 1970-01-01
  • 2010-12-14
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
  • 2011-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多