この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は含まれません)。なんで?