我正在编写一个模仿手表行为的powershell脚本。它工作正常,直到我看到一个抛出异常的 exe。
发生这种情况时,Visual Studio 中的 JIT 调试器会启动并打开一个对话框。我已经尝试使用 try/catch 块来捕获异常,如下面的代码示例所示。
我知道我可以在 VS 中打开调试器,但我不想打开它,因为它对调试很有用。我只想在此脚本中遇到异常和弹出窗口时捕获/抑制它。
我已经阅读了一些声称它在 powershell 中不可行的消息来源,但我希望他们是错误的,并且有一些聪明的方法可以解决这个问题。有没有人有任何提示?
我试过的:
$tick = "-"
while ($true)
{
try {
$out = invoke-expression "$args"
}
catch {
$out = "Error: " + $_.Exception.Message
} finally {
cls
$out
$tick
if ($tick -eq "-") {$tick = "+"} else {$tick = "-"}
sleep 1
}
}
我还尝试将[Exception]
and [System.IO.IOException]
(我收到的具体异常)添加到 catch 块中,但没有任何运气。