r - R 中的 tryCatch 无法正常工作

标签 r try-catch

我有以下 R 代码:

tryCatch( {pre_symbol=read.table(file=filePre,header=FALSE,sep=",")}
         , error = function(e) {loadError = TRUE} )

当输入文件 (filePre) 为空时,tryCatch 不会将全局变量 loadError 设置为 TRUE。这会在我的代码中产生问题(当 loadError==false 时执行的代码假定 filePre 不为空时),tryCatch 应该阻止这些问题。但是,当我删除 tryCatch 语句并尝试通过 read.Table 加载时,出现错误

Error in read.table(file = filePre, header = FALSE, sep = ",") : no lines available in input



在这种情况下这是预期的。我不知道为什么这不起作用。它适用于我集中的大多数其他文件。

最佳答案

您应该使用全局赋值运算符 <<-在这里,例如:

loadError = FALSE
toto <- function(){

  tryCatch(stop("dummy error"),error=function(e)loadError <<- TRUE)
}

> toto()
> loadError
[1] TRUE

关于r - R 中的 tryCatch 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19394886/

相关文章:

php try catch 无法正常工作

swift - Swift 中的抛出和重新抛出有什么区别?

python - Python异常语法错误

C++ Try-Catch 语句未捕获异常

r - 按 R 中的分隔符行拆分数据框

用于符号回归的 R 包

r - 有条件地用数字列中的点替换逗号

python - 预测整数的简单 SVM 算法

java - 如何验证字符串是否为字符串而不是 java 中的整数?

r - 限制变量范围