在脚本中,当command-let或其他可执行语句出错时,是否有try/catch类型的机制来从这些错误中恢复?我没有在文档中遇到过一个.
您Trap [exception-type] {}
在要处理异常的代码之前使用块.
我在TechNet杂志专栏(technetmagazine.com,如果您感兴趣的话)中写过这篇文章.
首先,PowerShell v2将有一个标准的Try ... Catch,这很棒.
现有shell(v1)支持trap {}构造.必须在发生异常之前定义它们.此外,大多数cmdlet需要-EA"STOP"参数,以便它们生成可捕获的异常.陷阱可以在任何范围内定义,并且在被捕获之前"冒泡"或直到它们到达全局(shell)范围.
在陷阱结束时,执行Continue以返回与陷阱相同范围内的下一行代码,或执行Break以离开当前范围并抛出异常.