我正在使用以下函数从表中选择值。表名作为该函数的参数给出。如果表不存在,则生成错误并执行stoped.I想要做表格的事情没找到。是否有可能在R?类似于try-catch异常的东西?
library('RSQLite')
getData <- function(portfolio){
lite <- dbDriver("SQLite", max.con = 25)
db <- dbConnect(lite, dbname = "portfolioInfo.db")
res <- dbSendQuery(db, paste("SELECT * from ",portfolio," ",sep=""))
data <- fetch(res)
return (data)
}
getData("table1")
答案 0 :(得分:1)
执行此操作的一种方法是检查返回的数据类。
我不熟悉RSQLite,但我想如果找到表会返回一个数据帧而不是文本错误?
因此可能会检查是否出现错误:
checkQueryResult<-function(data){
if(class(data)=='data.frame') cat('SQL execution worked!')
else cat('Something went wrong, table does not exist?')
}
checkQueryResult(getData("table1"))
但也许RSQLite包已经内置了错误处理内容?