watch の動作を模倣する 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]
また、[System.IO.IOException]
(受け取った具体的な例外) を catch ブロックに追加しようとしましたが、これ以上運がありません。