2015-04-20 63 views
0

我的疑問是爲R. 中的變量或對象分配錯誤語句,例如,假設我正在執行將拋出錯誤的語句,我想將該錯誤語句保存在某處,以便稍後我可以調試代碼。例如: -將錯誤語句分配給R中的變量

x*3 #faulty statement 
Error: object 'x' not found # error thrown because x dont exist 

但有可能這個錯誤說法「對象‘X’找不到」保存到變量或文本文件?

回答

3

您可以使用trytryCatch。與try一個例子:

res <- try(x * 3) # if `x * 3` throws and error, `res` will be an error object 
if(inherits(res, "try-error")) {   # error happened 
    print(conditionMessage(attr(res, "condition"))) # the error message 
} 

產地:

[1] "object 'x' not found" 

當然,我們可以存儲res不是打印的錯誤信息。如果您不希望錯誤在實際發生時產生消息,請使用try(..., silent=TRUE),這將完全禁止消息(儘管如果您願意,您可以隨時從res對象訪問它)。