如果这个问题听起来很幼稚,请原谅。在尝试递归打开文件连接后尝试closeAllConnections()
进入tryCatch()
块时,似乎没有正确捕获错误。
这是示例代码:
fileOpenRec<-function(iter){
if(iter<130){
try(
{
aFile="file1.txt"
fileCon<-file(aFile, "a")
fileOpenRec(iter+1)
}
)
}
}
tryCatch(fileOpenRec(1), error=function(e){print("Error!");closeAllConnections()})
上面的代码抛出:Error in file(aFile, "a") : all connections are in use
并且不关闭连接。这是预期的行为吗?(我对此表示怀疑,如果我在这里遗漏了什么,请纠正我)
PS:要关闭连接,我几乎没有解决方法,例如添加 afinally
并在此处关闭它们。