例外をスローするコードがある場合、エラー メッセージが表示されますが、スローされている例外を正しくキャッチ (または判断) する方法がわかりません。通常、私はそれをキャッチしますSystem.Exception
が、これは悪い考えです。
以下に例を示します...存在しないドライブにフォルダを作成しようとしています:
PS <dir> .\myScript.ps1 z:\test
mkdir : Cannot find drive. A drive with the name 'z' does not exist.
At <dir>myScript.ps1:218 char:7
+ mkdir $args[0] 1> $null
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (z:String) [New-Item], DriveNotFoundExc
eption
+ FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.NewItemComm
and
をキャッチしようとしましSystem.DriveNotFoundException
たが、スクリプトを再実行すると、まだキャッチされていない例外が発生します。
あらゆる種類の例外を効果的に処理するためのヒントはありますか?