我做了
try {
$g = Get-Content $file
} catch {
return ""
}
但是只要另一个进程仍然写入$ file(并阻止它),我收到一条错误消息:无法访问该文件为..
为什么我没有在catch {}中“登陆”但是收到错误 - 如何检查文件是否可访问?
提前致谢, 天哪
得到了它:)
我只是使用:
try {
$g = New-Object system.IO.StreamReader $file
} catch {
return ""
}
如果文件仍然被写入,则重定向到catch-branch
答案 0 :(得分:9)
在Try / Catch中,仅在终止错误时调用Catch块。在cmdlet上使用-ErrorAction Stop可以强制终止所有错误:
try {
$g = Get-Content $file -ErrorAction Stop
} catch {
return ""
}