【发布时间】:2010-08-17 10:40:14
【问题描述】:
关于这个 R 代码的问题:
library(RODBC)
ch <- tryCatch(odbcConnect("RTEST"),
warning=function(w){print("FAIL! (warning)");return(NA)},
error=function(e){print(paste("ERROR:",geterrmessage()));return(NA)})
df <- tryCatch(sqlQuery(ch,"SELECT Test from tblTest"),
warning=function(w){print("FAIL! (warning)");return(NA)},
error=function(e){print(paste("ERROR:",geterrmessage()));return(NA)})
odbcClose(ch)
在两种情况下(警告和错误部分几乎完全相同),代码都可以很好地处理错误(通过在代码中省略所需的参数来强制执行):我得到一个 NA 值和一个错误消息。
同样对于 sqlQuery 的错误(给出无效的 DSN):NA 值和错误消息。
但不适用于 sqlQuery 的警告。没有消息输出,但 df 包含消息(所以没有 NA)。为什么?
【问题讨论】:
-
对不起,我把第一部分贴出来了。现已编辑
-
我这几天没有访问数据库,所以无法回复 cmets in your previous question。
-
没问题,你回答了我的问题95%,剩下的部分在这个问题中。非常感谢