我试图使用闪亮的验证功能来捕获读取错误,并在读取上传的csv文件时显示自定义的错误消息,而不是让默认的read.csv错误消息发亮。以下是简单的代码
validate(need(try(sd <- read.csv(file = sdFile[1], stringsAsFactors = FALSE)), "Error reading the file"))当csv文件中没有格式问题时,代码正常工作。但是,当csv文件出现问题时,代码仍然返回默认的错误消息(红色字体),例如,错误:未定义的列被选中,而不是自定义消息。这里有什么问题吗?谢谢!
发布于 2016-05-23 14:31:18
我认为它实际上是打印出来的,如果我这样做的话:
library(shiny)
validate(need(try(sd <- read.csv(file = "mtcars1.csv",
stringsAsFactors = FALSE)),
Error reading the file !!!"))屈服:
文件中的错误(文件,"rt"):无法打开连接:警告消息:在文件中(文件,"rt"):无法打开文件'mtcars1.csv':没有这样的文件或目录错误:读取文件时出错!!
我明白了-注意你的留言在最后一行。
您可以使用这样的supressWarnings来抑制警告:
library(shiny)
suppressWarnings(
+ validate(need(try(sd <- read.csv(file = "mtcars1.csv",
stringsAsFactors = FALSE)),
"Error reading the file !!!!")))屈服:
文件中的错误(文件,"rt"):无法打开连接错误:读取文件时出错!
或者,您可以压制除此消息之外的所有内容(使用tryCatch而不是try):
library(shiny)
suppressWarnings(
validate(need(tryCatch(sd <- read.csv(file = "mtcars1.csv",
stringsAsFactors = FALSE), error=function (e){}),
"Error reading the file !!!!")))屈服
错误:读取文件错误!
https://stackoverflow.com/questions/37393376
复制相似问题