我的代码中有一个预定义的filename
。我希望加载该文件(如果存在)或创建一个新的工作簿(如果不存在)。我正在尝试使用tryCatch
和软件包openxlsx
使用以下代码来做到这一点:
tryCatch({wb <- loadWorkbook(fileName)}, error=function(e){wb <- createWorkbook()})
*some processing*
saveWorkbook(wb, fileName, overwrite = TRUE)
我的tryCatch似乎没有运行任何一个命令。当我单独运行loadWorkbook时,会引发错误“文件不存在”,但是当我运行tryCatch时,它不会创建新的工作簿。我是否以错误的方式使用tryCatch?
答案 0 :(得分:0)
我相信TryCath是正确的,但是在保存工作簿之前,您需要至少创建一张纸。试试这个:
browserSync.init({
server: {
baseDir: "app"
},
online: true,
tunnel: true,
logLevel: "debug"
});
答案 1 :(得分:-1)
发现了问题。
由于错误部分是一个函数,因此将在该函数中本地创建wb。我只需要按照Juan的建议,通过在tryCatch之外分配它来从函数返回wb。
wb <- tryCatch({loadWorkbook(fileName)}, error=function(e){createWorkbook()})
*some processing*
saveWorkbook(wb, fileName, overwrite = TRUE)