概要
PowerShell 関数には、エラー処理のための例外処理機能があります。例外処理は、エラーが発生した場合に実行される特別なコードブロックを定義し、スクリプトの継続的な実行を可能にするためのものです。この記事では、PowerShell 関数の例外処理とエラーハンドリングについて学びます。
構文
try { # 例外が発生する可能性のあるコード } catch { # 例外が発生した場合に実行するコード } finally { # 例外の発生に関係なく必ず実行するコード }
try
ブロック:例外が発生する可能性があるコードを記述するブロックです。catch
ブロック:try
ブロック内で例外が発生した場合に実行するブロックです。ここには、例外の詳細情報を表示するコードなどが記述されます。finally
ブロック:例外が発生した場合でも必ず実行されるブロックです。例外の発生に関係なく必要な後処理がある場合に使用されます。
使用例
以下の例では、Get-Content
コマンドレットを使用して、ファイルからテキストを読み込むための関数を定義します。ファイルが存在しない場合には、例外を発生させて、エラーメッセージを表示します。
function Read-TextFromFile { param( [string]$FilePath ) try { $content = Get-Content -Path $FilePath -ErrorAction Stop Write-Output $content } catch { Write-Error "読み込み失敗: $($error[0].Exception.Message)" } }
上記の関数を使用するには、次のように呼び出します。
Read-TextFromFile -FilePath "C:\temp\notexist.txt"
上記のコマンドは、エラーメッセージ「読み込み失敗: パス ‘C:\temp\notexist.txt’ が存在しないため検出できません。」を表示します。これは、指定されたファイルが存在しないため、Get-Content
コマンドレットが例外を発生させたためです。
コメント