--- title: "Error Handling in R" output: html_notebook --- Let's start by making an error. ```{r} plot(c00rs) ``` ```{r} plotit <- function (x) plot(x) plotit(c00rs) ``` ```{r} scaleme <- function (x, sf) { x/sqrt(sf) } scaleme(1:10,-3) ``` ```{r} scaleme <- function (x, sf) { if (!is.numeric(sf) || sf <= 0) stop("Expected sf to be a positive number, got ", sf) x/sqrt(sf) } scaleme(1:10,-3) ``` ```{r} scaleme <- function (x, sf) { if (!is.numeric(sf) || sf <= 0) warning("Expected sf to be a positive number, got ", sf,"\n") x/sqrt(sf) } scaleme(1:10,-3) ``` Setting - options(warn=0) -- Print warnings at end of function. - options(warn=1) -- Print warnings as they happen - options(warn=2) -- Stop on warnings ```{r} options(warn=1) scaleme(1:10,-3) ``` ```{r} options(warn=2) scaleme(1:10,-3) ``` ```{r} scaleme <- function (x, sf) { if (!is.numeric(sf) || sf <= 0) { warning("Expected sf to be a positive number, got ", sf,"\n") recover() } x/sqrt(sf) } scaleme(1:10,-3) ```