trapステートメントを用いることで、エラーが発生したときに何かメッセージなどの処理を行うことができます。
例1
基本となるtrap処理$a = 5 / 0 Write-Host "答えは" $a trap{ Write-Host "エラーが発生しました。" }
実行結果
エラーが発生しました。 0 で除算しようとしました。 発生場所 行:5 文字:1 + $a = 5 / 0 + ~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], RuntimeException + FullyQualifiedErrorId : RuntimeException 答えは 0エラーが発生したあと、trapステートメントの処理が実行され後にエラーメッセージが表示され、その後次の処理が実行されます。
例2
breakを使ったtrap処理$a = 5 / 0 Write-Host "答えは" $a trap{ Write-Host "エラーが発生しました。" break }
実行結果
エラーが発生しました。 0 で除算しようとしました。 発生場所 行:3 文字:1 + $a = 5 / 0 + ~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : RuntimeExceptionbreakを使うと、エラーが発生したあと、trapステートメントの処理が実行され後にエラーメッセージが表示され、その後の処理は実行されずにそのまま終了します。
例3
continueを使ったtrap処理$a = 5 / 0 Write-Host "答えは" $a trap{ Write-Host "エラーが発生しました。" continue }
実行結果
エラーが発生しました。 答えは 0continueを使うと、エラーが発生したあと、trapステートメントの処理が実行され後にエラーメッセージは表示されず、その後次の処理が実行されます。
スポンサーリンク