You can then throw this message with stop()
or rlang::abort()
.
Usage
format_error(message, .envir = parent.frame())
format_warning(message, .envir = parent.frame())
format_message(message, .envir = parent.frame())
Arguments
- message
It is formatted via a call to
cli_bullets()
.- .envir
Environment to evaluate the glue expressions in.
Details
The messages can use inline styling, pluralization and glue substitutions.
n <- "boo"
stop(format_error(c(
"{.var n} must be a numeric vector",
"x" = "You've supplied a {.cls {class(n)}} vector."
)))
#> Error: `n` must be a numeric vector #> ✖ You've supplied a <character> vector.
len <- 26
idx <- 100
stop(format_error(c(
"Must index an existing element:",
"i" = "There {?is/are} {len} element{?s}.",
"x" = "You've tried to subset element {idx}."
)))
#> Error: Must index an existing element: #> ℹ There are 26 elements. #> ✖ You've tried to subset element 100.