【问题标题】:Powershell Try CatchPowershell 尝试 Catch
【发布时间】:2013-04-04 11:17:54
【问题描述】:

我在下面有一个简单的 powershell 脚本,它基本上执行 abc.exe(控制台应用程序),参数很少。

& abc.exe ar1 ar2

abc.exe 文件是 .net,因此它有自己的异常处理程序。

每当 abc.exe 抛出异常时,我希望 Powershellscript 捕获并记录/回显。

有人可以帮我实现上述目标吗?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    没有。

    abc.exe 中的异常将冒泡到 main 方法,不再是。但是您可以通过查看$LASTEXITCODE 来检查abc.exe 的ERRORLEVEL。 (查看this

    你应该做什么:

    • 您的 abc.exe 与任何 exe 一样,如果一切正常,应返回错误级别 0,如果出现错误,则返回其他数字
    • Abc.exe 主方法可能会在出现问题时写入错误消息。这样,当您从 PowerShell 脚本调用它时,您将在控制台中看到错误消息,稍后您的脚本将检查错误级别。

    此外,您还可以在 abc.exe 中为错误级别使用不同的退出代码,以向 PowerShell 脚本提供一些信息。例如这些是7zip error levels

    • 0 --> 没有错误
    • 1 --> 警告
    • 2 --> 致命错误
    • 7 --> 命令行错误
    • 8 --> 内存不足,无法运行
    • 255 --> 用户停止进程

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-22
      • 2013-11-10
      • 1970-01-01
      相关资源
      最近更新 更多