3

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

& abc.exe ar1 ar2

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

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

有人可以帮助我如何实现上述目标。

4

1 回答 1

6

不。

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

你应该做什么:

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

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

  • 0 --> 没有错误
  • 1 --> 警告
  • 2 --> 致命错误
  • 7 --> 命令行错误
  • 8 --> 没有足够的内存用于操作
  • 255 --> 用户停止进程
于 2013-04-04T11:22:19.370 回答