In addition to having reserved terms for use in making condition-handling plans, catchr also places special meaning on two types of conditions,
misc is very useful,
last_stop is something most users should probably avoid.
The names of the named arguments passed to
make_plans correspond to the type of conditions each plan is designed for—specifically, if any of a condition's classes match a plan's name, it will be caught by that plan. By default, all conditions have a class of "condition".
There is nothing special about a condition with a class of
"misc" in base R, although there are no normal base R functions that would automatically raise such a condition. However, in catchr, using the name
misc for a plan means that this plan will be applied to any condition that does not already have a plan specified for it. Consider the following example:
plans <- make_plans(warning = collect, message = collect, error = exit, misc = collect)
These plans will collect every non-error condition into three sublists, one for warnings, one for messages, and one for everything else—"misc". If one used
condition = collect instead of
misc, warnings and messages would be collected twice: once in each of their respective sublists, and another time in "condition", since each type also has that class.
misc will not catch warnings or messages in the scenario above.
Since ~99% of all conditions encountered in the wild will be errors, warnings, and messages,
misc is just a short, handy way of making sure you catch anything more "exotic". If you're dealing with conditions that have
"misc" as a class, you're probably at an advanced enough stage where you shouldn't be using catchr. But if you are in this circumstance and feel strongly otherwise, feel free to make a feature request on the GitHub repo.
This condition name is reserved for exit,
exit_with(). There is basically zero chance any code other than catchr will ever raise a condition of
"last_stop", so this shouldn't be a problem, but until catchr becomes more mature, do not use this name for any condition or plan.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.