web-dev-qa-db-ja.com

Powershellエラー処理:エラーが発生しなかった場合に何かを行う

私はこれを探し回っていましたが、見つけられないようです。 try {} catch {}ステートメントを含むスクリプトがあります。エラーが発生しなかった場合のアクションを追加したいと思います。

例えば

try { something }
catch { "Error occured" }
if (!error) {
"No Error Occured"
}

ステートメントでエラーが発生しなかった場合、どうすればテストできますか?

前もって感謝します

ウォルター

8
Walter81

クリア後​​、自動変数$errorをチェックします

$error.clear()
try { something }
catch { "Error occured" }
if (!$error) {
"No Error Occured"
}
19
CB.

別の方法:

$ErrorOccured = $false

try 
{ 
   $ErrorActionPreference = 'Stop'
   ...something...
}
catch
{
   "Error occured"
   $ErrorOccured=$true
}

if(!$ErrorOccured) {"No Error Occured"}

5
Shay Levy

どうですか、

something
If ($?)
{
    "No error"
}
Else
{
    "Error"
}

これは、終了しないエラーに対しても機能します。

2
Ben Penney