# example for error calls -------------------------------------------------
# internal helper
main_function_1 <- function() {
internal_helper()
}
internal_helper <- function(call = rlang::caller_env()){
rlang::abort("Nope!", call = call)
}
internal_helper()
#> Error:
#> ! Nope!
#> Backtrace:
#> ▆
#> 1. └─global internal_helper()
#> 2. └─rlang::abort("Nope!", call = call)
main_function_1()
#> Error in `main_function_1()`:
#> ! Nope!
#> Backtrace:
#> ▆
#> 1. └─global main_function_1()
#> 2. └─global internal_helper()
#> 3. └─rlang::abort("Nope!", call = call)
# user-facing "helper"
main_function <- function() {
user_facing_function(call = rlang::current_env())
}
user_facing_function <- function(call = rlang::current_env()) {
rlang::abort("Also no!", call = call)
}
user_facing_function()
#> Error in `user_facing_function()`:
#> ! Also no!
#> Backtrace:
#> ▆
#> 1. └─global user_facing_function()
#> 2. └─rlang::abort("Also no!", call = call)
main_function()
#> Error in `main_function()`:
#> ! Also no!
#> Backtrace:
#> ▆
#> 1. └─global main_function()
#> 2. └─global user_facing_function(call = rlang::current_env())
#> 3. └─rlang::abort("Also no!", call = call)
# main function is user-facing "helper" for tune
main_function <- function(call = rlang::current_env()) {
user_facing_function(call = call)
}
user_facing_function <- function(call = rlang::current_env()) {
rlang::abort("Also no!", call = call)
}
user_facing_function()
#> Error in `user_facing_function()`:
#> ! Also no!
#> Backtrace:
#> ▆
#> 1. └─global user_facing_function()
#> 2. └─rlang::abort("Also no!", call = call)
main_function()
#> Error in `main_function()`:
#> ! Also no!
#> Backtrace:
#> ▆
#> 1. └─global main_function()
#> 2. └─global user_facing_function(call = call)
#> 3. └─rlang::abort("Also no!", call = call)Created on 2024-01-19 with reprex v2.0.2