gpt4 book ai didi

powershell - 捕获 block 内未捕获异常的Powershell意外行为

转载 作者:行者123 更新时间:2023-12-02 23:59:51 26 4
gpt4 key购买 nike

以下powershell脚本产生非常异常的输出:

try {
throw "some exception"
echo "check point"
}
catch
{
echo "catch"
throw "some other exception"
exit(-1)
}
echo "finish"

输出:
catch
finish

除了脚本要通过未捕获的异常 throw "some exception"退出并且脚本无法达到 finish之外,我都希望这样做。

即使将Powershell设置为在未捕获的异常之后继续运行,我也希望它执行 exit(-1),并且永远不会到达 finish

谁能解释这种行为?

最佳答案

exit(-1)无法访问,因为前一行throw "some other exception"引发了一个异常,该异常绕过了该块的其余部分。

我看到在两种情况下达到了“完成”状态:

  • 正如培根·比特斯所说,当$ErrorActionPreference设置为"SilentlyContinue"时。
  • 该代码粘贴到交互式 shell 程序中(而不是从.ps1文件运行),在这种情况下,它作为手动命令运行最后一行。
  • 关于powershell - 捕获 block 内未捕获异常的Powershell意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32725690/

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