ボトムラインアップフロント
例外をコマンドラインに伝播せずに、PowerShell(v1)コマンドラインパラメーターを検証する方法を探しています。
詳細
現在、コマンドラインパラメータを検証するためparam
にと組み合わせて使用するPowerShellスクリプトがあります。[ValidateNotNullOrEmpty]
param(
[string]
[ValidateNotNullOrEmpty()]$domain = $(throw "Domain (-d) param required.")
)
例外をコマンドラインに戻さずに、カスタムエラーメッセージを提供するというエラー処理のパラダイムを変更しています。param
ブロックはtrycatchブロックでラップできないため、次のようなものに頼りました。
param(
[string]$domain = $("")
)
Try{
if($domain -like $("")){
throw "Domain (-d) param required."
}
...
}Catch{
#output error message
}
私の懸念は、を使用して利用できる組み込みの検証をすべてバイパスしていることですparam
。私の新しいテクニックは合理的な解決策ですか?スクリプト内に例外をカプセル化しながら、コマンドラインパラメータを検証するためのより良い方法はありますか?PowerShellの専門家がこの状況をどのように処理するかを確認することに非常に興味があります。
何かアドバイスをいただければ幸いです。