An error checking function for use with learnr
Source:R/gradethis_error_checker.R
gradethis_error_checker.Rd
learnr uses the checking code in exercise.error.check.code
when the
user's submission produces an error during evaluation.
gradethis_error_checker()
provides default error checking suitable for most
situations where an error was not expected.
If a solution for the exercise is available, the user's submission will be compared to the example solution and the message to the student will include code feedback. Otherwise, the error message from R is returned.
If you are expecting the user to submit code that throws an error, use the
*-error-check
chunk to write custom grading code that validates that the
correct error was created.
Arguments
- ...
Ignored but included for future compatibility.
- hint
Include a code feedback hint with the failing message? This argument only applies to
fail()
andfail_if_equal()
and the message is added using the default options ofgive_code_feedback()
andmaybe_code_feedback()
. The default value ofhint
can be set usinggradethis_setup()
or thegradethis.fail.hint
option.- message
The feedback message when an error occurred and no solution is provided for the exercise. May reference
.error
or any of the grade_this-objects. The default value is set bygradethis_setup()
.- encourage
Include a random encouraging phrase with
random_encouragement()
? The default value ofencourage
can be set usinggradethis_setup()
or thegradethis.fail.encourage
option.
Value
A checking function compatible with gradethis_exercise_checker()
.
Examples
# The default error checker is run on an exercise that produces an error.
# In the following example, the object `b` is not defined.
# This is the error that the user's submission creates:
tryCatch(
b,
error = function(e) message(e$message)
)
#> object 'b' not found
# If you haven't provided a model solution:
gradethis_error_checker()(mock_this_exercise(b))
#> <gradethis_graded: [Incorrect]
#> An error occurred with your code:
#>
#> ```
#> object 'b' not found
#> ```
#>
#> >
# If a model solution is available:
gradethis_error_checker()(mock_this_exercise(b, a))
#> <gradethis_graded: [Incorrect]
#> An error occurred with your code:
#>
#> ```
#> object 'b' not found
#> ```
#>
#> >