2014-03-07 29 views
-1

我正在使用r和mysql數據庫,並且我不知道如何在mysql中捕獲插入數據到表錯誤。在R中捕獲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') 

但當我查看狀態VAR值,變量具有NULL值。

感謝

回答

0

tryCatch作品定義一個處理錯誤和警告的功能。如果您沒有提供tryCatch這樣的手柄,則不會做任何事情。

該文檔有幾個例子說明了這一點,以及一個長描述,概述它是如何工作的。

像這樣:

tryCatch(log("a"),error = function(e) cat("I found an error")) 
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

狀態是try函數的結果。