Skip to contents

Attempts to execute the text in cmd. This is done in a try/catch environment to capture any errors.

Usage

FM_tc(cmd, tc_env, capture)

Arguments

cmd

Character object containing the R command to evaluate in the try/catch block

tc_env

list of with names corresponding to object names and corresponding Values to define in the try/catch environment

capture

Character vector of values to capture after the command is successfully captured. If capture is NULL (e.g., c(), then all objects generated by cmd will be captured.

Value

list with the following fields:

  • isgood: Boolean indicating the whether the evaluation was successful.

  • error: If the evaluation failed this contains the error object.

  • msgs: Character vector of messages and/or errors.

  • capture: List with names of objects to be captured and values corresponding to those captured objects.

Examples

# Successful command
res_good = FM_tc("good_cmd=ls()", list(), c("good_cmd"))
res_good
#> $capture
#> $capture$good_cmd
#> [1] "capture" "cmd"     "name"    "tc_env" 
#> 
#> 
#> $isgood
#> [1] TRUE
#> 

# Failed command
res_bad = FM_tc("bad_cmd =not_a_command()", list(), c("bad_cmd"))
res_bad
#> $error
#> <simpleError in not_a_command(): could not find function "not_a_command">
#> 
#> $isgood
#> [1] FALSE
#> 
#> $msgs
#> [1] "message: could not find function \"not_a_command\""
#> [2] "call:    not_a_command"                            
#>