cnd_signal()
takes a condition as argument and emits the
corresponding signal. The type of signal depends on the class of
the condition:
A message is signalled if the condition inherits from
"message"
. This is equivalent to signalling withinform()
orbase::message()
.A warning is signalled if the condition inherits from
"warning"
. This is equivalent to signalling withwarn()
orbase::warning()
.An error is signalled if the condition inherits from
"error"
. This is equivalent to signalling withabort()
orbase::stop()
.An interrupt is signalled if the condition inherits from
"interrupt"
. This is equivalent to signalling withinterrupt()
.
Arguments
- cnd
A condition object (see
cnd()
). IfNULL
,cnd_signal()
returns without signalling a condition.- ...
These dots are for future extensions and must be empty.
See also
cnd_type()
to determine the type of a condition.abort()
,warn()
andinform()
for creating and signalling structured R conditions in one go.try_fetch()
for establishing condition handlers for particular condition classes.
Examples
# The type of signal depends on the class. If the condition
# inherits from "warning", a warning is issued:
cnd <- warning_cnd("my_warning_class", message = "This is a warning")
cnd_signal(cnd)
#> Warning: This is a warning
# If it inherits from "error", an error is raised:
cnd <- error_cnd("my_error_class", message = "This is an error")
try(cnd_signal(cnd))
#> Error : This is an error