2014-02-07 52 views
0

正在为Biztalk部署创建PowerShell脚本。我编写了一个普通的try catch块来处理部署期间的异常。我的代码能够捕捉到的异常像Powershell中的异常处理

#文件未找到
#语法错误

但例外像Dependency applications needs to be installed before installing - 并没有被抓到。但是,当我检查Powershell控制台,我可以看到..
CommandExecuted with 1 Error

请建议如何处理这些例外。

+1

catch只会拦截“终止错误”。尝试在脚本顶部设置'$ ErrorActionPreference =“stop”' –

+0

我已经在脚本的顶部添加了该代码。只有当我的其他例外被抓住。 –

+0

你能分享你的脚本吗? –

回答

2

除了非终止错误之外,您应该知道,PowerShell tr​​y/catch不会“捕捉”可执行文件返回错误退出代码这一事实。你可以让它产生这样的异常:

some.exe someargs 
if ($LastExitCode -ne 0) { throw "some.exe failed with exit code $LastExitCode" } 
+0

它帮助... :)非常感谢.. :) –