The functions composerr()
, composerr_()
and composerr_parent()
modify error handlers by
appending character strings to the error messages of the error handling
functions:
composerr()
uses non-standard evaluation.
composerr_()
is the standard evaluation alternative of composerr()
.
composerr_parent()
is a wrapper of composerr()
, defining the parent
environment as the lookup environment of the err_handler
.
This function looks up the prior error handling function in the parent
environment of the current environment and allows you to store
the modified error handling function under the same name as the
error handling function from the parent environment without running into
recursion issues.
This is especially useful when doing error handling
in nested environments (e.g. checking nested list objects) and you don not
want to use different names for the error handling functions in the
nested levels.
If you don't have a nested environment situation, better use
composerr()
or composerr_()
.
composerr_(text_1 = NULL, err_prior = NULL, text_2 = NULL,
sep_1 = ": ", sep_2 = ": ", env_prior = parent.frame())composerr(text_1 = NULL, err_prior = NULL, text_2 = NULL,
sep_1 = ": ", sep_2 = ": ", env_prior = parent.frame())
composerr_parent(text_1 = NULL, err_prior = NULL, text_2 = NULL,
sep_1 = ": ", sep_2 = ": ", env_prior = parent.frame())
A character string, which will be appended
at the beginning of the error message. The argument sep_1
will be used
as text separator.
There are three valid types:
err_prior
is omitted: A new error handling message will be returned.
composerr_
is the calling function: err_prio
must be a character
string holding the name of the error handling function
to which the message part should be appended.
composerr
is the calling function: err_prio
must be the error
handling function
to which the message part should be appended.
A character string, which will be appended
at the end of the error message. The argument sep_2
will be used
as text separator.
A character string that is used as separator for the
concatenation of text_1
at the beginning of the error message.
A character string that is used as separator for the
concatenation of text_2
at the end of the error message.
An environment where the error handling function given in
err_prior
can be found. If no environment is given, then
the err_prior
will be looked up in the current environment.
In the situation of nested scopes, you may change the lookup environment
to the parent environment in order to be able to recursively override
the name of the error handling function. In order to keep it simple,
the function composerr_parent()
can be used instead.
A new error handling function that has an extended error message.