Learn R Programming

rlang (version 1.0.1)

format_error_call: Validate and format a function call for use in error messages

Description

format_error_call() simplifies its input to a simple call (see section below) and formats the result as code (using cli if available). Use this function to generate the "in" part of an error message from a stack frame call.

If passed an environment, the corresponding sys.call() is taken as call, unless there is a local flag (see local_error_call()).

Usage

format_error_call(call)

Arguments

call

The execution environment of a currently running function, e.g. caller_env(). The function will be mentioned in error messages as the source of the error. See the call argument of abort() for more information.

Value

Either a string formatted as code or NULL if a simple call could not be generated.

Details of formatting

  • The arguments of function calls are stripped.

  • Complex function calls containing inlined objects return NULL.

  • Calls to if preserve the condition since it might be informative. Branches are dropped.

  • Calls to operators and other special syntax are formatted using their names rather than the potentially confusing function form.

Examples

Run this code
# NOT RUN {
# Arguments are stripped
writeLines(format_error_call(quote(foo(bar, baz))))

# Returns `NULL` with complex calls such as those that contain
# inlined functions
format_error_call(call2(list))

# Operators are formatted using their names rather than in
# function call form
writeLines(format_error_call(quote(1 + 2)))
# }

Run the code above in your browser using DataLab