在R中捕获mysql错误

时间:2014-03-07 17:02:06

标签: mysql r

我正在使用r和mysql数据库,我不知道如何在mysql中捕获插入数据到表错误。

我有这个:

status <- tryCatch({ AnalyzerDb.insert_data_frame(dataset) }) 

但是当我运行代码时出现错误:

Error en mysqlExecStatement(conn, statement, ...) : 
  RS-DBI driver: (could not run statement: Duplicate entry '00001002-2014-01-17 00:00:00' for key 'PRIMARY') 

但是当我查看status var中的值时,该变量具有NULL值。

由于

2 个答案:

答案 0 :(得分:0)

tryCatch通过来定义处理错误和警告的函数。如果您没有向tryCatch提供任何此类句柄,则不会执行任何操作。

文档中有几个例子说明了这一点,以及描述其工作原理的详细说明。

这样的事情:

tryCatch(log("a"),error = function(e) cat("I found an error"))

答案 1 :(得分:0)

我已定义此功能:

   myDivideTryCatchInformation <- function(StatusVector, status ) {
      if (class(status) == "try-warning") {
         StatusVector[4] = StatusVector[4] + 1
      } else if (class(status) =="try-error") {
         StatusVector[5] = StatusVector[5] + 1
      } else {
         StatusVector[3] = StatusVector[3] + 1
      }
      return(StatusVector)
    }

params:StatusVector:这是一个有6个位置的向量:XXX,行,ok,警告,错误,XXX

和status是try函数的结果。