TryCatch
So the tryCatch
function in R allows you to try run piece of code and if it gives a warining or error, to do something else instead of crashing. Lets take this example:
We have a function do_calculation
that returns the quare root of some number. It will randomly sample either 1 or -1. Trying to return the square root of -1 will result in the function returning a NaN
and a warning. This function represents a function with some stocastic probability to sometimes fail.
If we iterate this function a couple of times, store it in vector x
and then try to get the sum it also results in a NaN
.
Now lets try catch the error before it return a NaN and rerun the function. Change you do_calculation
function to the following:
We have replaced sqrt(int)
with a tryCatch
statement. The first argument is the expression to evaluate and the warning
parameter allows you to fun some code when we get a warning. In out case we just want to run the function again, in the hope of sampling 1 instead of -1. Now when we run the function a few times we should be able to see that it always returns 1.
You can also add error
as another parameter to catch errors intead of warnings.
Last updated