1
私はWinSCPのを使用してSFTP経由でいくつかのファイルを転送しているスクリプトを持っています。はPowerShellで「キャッチ[例外]」と「キャッチ」との違いはありますか?
スクリプトの概要:
$transferfiles = @("filename 1" "filename 2")
foreach ($file in $transferfiles) {
$file
$transferResult = $session.PutFiles($file, "/upload/TEST/", $False,$transferOptions)
try {
$transferResult.Check()
}
catch [Exception]{
Write-Host "$file was not transferred."
}
}
私はちょうど私が[Exception]
を使用する必要があるかどうかを知りたいですか? catch
はそれ自身で動作しないのはなぜですか?
おかげ
なぜ2つの 'try'ブロックを使用していますか? '$ session'とは何ですか? –
私は異なるポイントでエラーをキャッチする必要があります。 $セッションはWINSCPの初期化の一部です - プライベート接続の詳細が含まれているので、すべての情報をコピーすることはできません。 – user3431504
'catch [例外] {}'は 'catch {}'と実質的に同じで、どちらも動作するはずです。 '$ TransferResult.Check()'は[終了しないエラー]を投げますか?(https://blogs.technet.microsoft.com/heyscriptingguy/2015/09/16/understanding-non-terminating-errors-in-powershell/ )? –