R/throw.R

Defines functions throw

Documented in throw

#' Throw a Condition
#'
#' Throws a condition of class c("error", "cleanr", "condition").
#'
#' We use this condition as an error dedicated to \pkg{ cleanr.}
#'
#' @param message_string The message to be thrown.
#' @param system_call The call to be thrown.
#' @param ... Arguments to be passed to
#' \code{\link[base:structure]{base::structure}}.
#' @return The function does never return anything, it stops with a
#' condition of class c("error", "cleanr", "condition").
#' @keywords internal
#' @examples
#' tryCatch(cleanr:::throw("Hello error!"), cleanr = function(e) return(e))
throw <- function(message_string, system_call = sys.call(-1), ...) {
    condition <- structure(class = c("error", "cleanr", "condition"),
                           list(message = message_string, call = system_call),
                           ...)
    stop(condition)
}

Try the cleanr package in your browser

Any scripts or data that you put into this service are public.

cleanr documentation built on Nov. 14, 2021, 9:07 a.m.