我做了
try {
$g = Get-Content $file
} catch {
return ""
}
但是,一旦另一个进程仍然写入$ file(并将其阻止),我将收到一条错误消息:无法按以下方式访问该文件。
为什么我不“降落”到catch {}中却出现错误-如何检查文件是否可访问?
提前致谢,
发誓
知道了 :)
我只用:
try {
$g = New-Object system.IO.StreamReader $file
} catch {
return ""
}
如果文件仍被写入,它将重定向到catch-branch
最佳答案
在“尝试/捕获”中,仅在终止错误时调用“捕获”块。在cmdlet上使用-ErrorAction Stop强制终止所有错误:
try {
$g = Get-Content $file -ErrorAction Stop
} catch {
return ""
}
关于file - PowerShell Get-Content : Try{ .。 } 捕获 { ..}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24229769/