2013-04-04 82 views
3

我有一个简单的powershell脚本,它基本上执行几个参数的abc.exe(控制台应用程序)。Powershell试试Catch

& abc.exe ar1 ar2 

abc.exe文件是.net所以它有它自己的异常处理程序。

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

有人可以帮助我如何达到上述目的。

回答

6

在abc.exe将泡沫例外高达主要方法,没有任何更多。但是,您可以通过查看$ LASTEXITCODE来检查abc.exe的ERRORLEVEL。 (检查this

你应该做的:

  • 你abc.exe,因为任何exe文件,应该返回错误级别0,如果一切OK等数错误
  • Abc.exe主的情况下,方法可以在出现问题时写入错误消息。通过这种方式,当您从PowerShell脚本调用它时,您将在控制台中看到错误消息,稍后您的脚本将检查错误级别。

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

  • 0 - >没有错误
  • 1 - >警告
  • 2 - >致命错误
  • 7 - >命令行错误
  • 8 - >没有足够的内存操作
  • 255 - >用户停止了该过程