R 编程中的 tryCatch
tryCatch in R Programming
在 R 中,我想创建一个 return Flag=0 的函数,如果它遇到任何错误:
Error<-function(x){
tryCatch(x,
error=function(e{
Flag=0
}
)
}
当我输入时:错误(5+b)。它不反映 Flag=0.
Flag <- 1
tryCatch(
5+b,
error=function(e) { Flag <<- 0}
)
Flag
[1] 0
在您的代码中,Flag
的范围是错误处理程序的本地范围。使用 <<-
在全局环境中进行赋值。
如果发生错误,您可以在此处 return 一个字符串 ('error'
) 并将其值检查为 return 1/0。
Error<-function(x){
y <- tryCatch(x,error=function(e) return('error'))
as.integer(y != 'error')
}
Error(sqrt('a'))
#[1] 0
Error(sqrt(64))
#[1] 1
在 R 中,我想创建一个 return Flag=0 的函数,如果它遇到任何错误:
Error<-function(x){
tryCatch(x,
error=function(e{
Flag=0
}
)
}
当我输入时:错误(5+b)。它不反映 Flag=0.
Flag <- 1
tryCatch(
5+b,
error=function(e) { Flag <<- 0}
)
Flag
[1] 0
在您的代码中,Flag
的范围是错误处理程序的本地范围。使用 <<-
在全局环境中进行赋值。
如果发生错误,您可以在此处 return 一个字符串 ('error'
) 并将其值检查为 return 1/0。
Error<-function(x){
y <- tryCatch(x,error=function(e) return('error'))
as.integer(y != 'error')
}
Error(sqrt('a'))
#[1] 0
Error(sqrt(64))
#[1] 1