[R] Difficulty using the tryCatch() function
phii m@iii@g oii phiiipsmith@c@
phii m@iii@g oii phiiipsmith@c@
Sun Feb 7 20:30:59 CET 2021
I need help using the tryCatch function. I have a function and I want to
surround it with tryCatch to catch errors and thereby avoid stopping
execution of my program if the function fails. In my reproducible
example below I have used a very simply function that just adds two
numbers together. My function, called Adn, compiles, but when executed
it generates the message: "Error in tryCatch({ : condition handlers must
be specified with a condition class". I do not understand the error
message.
# Reproducible example for using tryCatch
Adn <- function(x,y) {
out <- tryCatch(
{
x+y
},
{
warning = function(cond) {
message("There was a warning.")
message("Here is the original warning message:")
message(cond)
return(100)
}
},
{
error = function(cond) {
message("There was an error.")
message("Here is the original error message:")
message(cond)
return(200)
}
},
finally = {
message("Error handling done.")
}
)
if (out==100 | out==200) { z <- 0 }
else { z <- x+y }
return(z)
}
(result <- Adn(1,sqrt(2))) # should work fine
(result <- Adn(1,sqrt(-2))) # should catch a warning and set z to 0
(result <- Adn(1,"a")) # should catch an error and set z to 0
More information about the R-help
mailing list