1
WinSCP를 사용하는 SFTP를 통해 일부 파일을 전송하는 스크립트가 있습니다.PowerShell에서 "catch [Exception]"및 "catch"사이에 차이가 있습니까?
스크립트의 요약 :
$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
그 자체가 작동하지 않는 이유는 무엇입니까?
감사
왜 두 개의'try' 블록을 사용하고 있습니까? '$ session'이란 무엇입니까? –
다른 지점에서 오류를 잡아야합니다. $ 세션은 WINSCP 초기화의 일부입니다 - 개인 정보가 포함되어 있기 때문에 모든 정보를 복사 할 수 없습니다. – user3431504
'catch [Exception] {}'은'catch {}'와 실질적으로 동일하며 둘 다 작동해야합니다. '$ TransferResult.Check()'는 [종료되지 않는 오류]를 던집니까 (https://blogs.technet.microsoft.com/heyscriptingguy/2015/09/16/understanding-non-terminating-errors-in-powershell/))? –