存在しないファイルに対して次のスクリプトを実行すると、何らかの理由でスクリプトが例外をキャッチしません。このコードは、Webで見つけた例に基づいていますが、うまくいかないようです。
これを修正する方法についてのヒントやポインタをいただければ幸いです。
注:以下の例では、私も試しました
trap [Exception] {
しかし、それもうまくいきませんでした。
スクリプトは次のとおりです。
function CheckFile($f) {
trap {
write-host "file not found, skipping".
continue
}
$modtime = (Get-ItemProperty $f).LastWriteTime
write-host "if file not found then shouldn't see this"
}
write-host "checking a file that does not exist"
CheckFile("C:\NotAFile")
write-host "done."
出力:
PS > .\testexception.ps1
checking a file that does not exist
Get-ItemProperty : Cannot find path 'C:\NotAFile' because it does not exist.
At C:\Users\dleclair\Documents\Visual Studio 2010\lib\testexception.ps1:12 char:35
+ $modtime = (Get-ItemProperty <<<< $f).LastWriteTime
+ CategoryInfo : ObjectNotFound: (C:\NotAFile:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
if file not found then shouldn't see this
done.
PS >