This function may be used in error-blocks to clear the error that
triggered execution of the error block. Execution resumes following
the statement, in the scope of the error-block, that triggered the
error.
Consider the following wrapper around the putenv function:
define try_putenv (name, value)
{
variable status;
ERROR_BLOCK
{
_clear_error ();
status = -1;
}
status = 0;
putenv (sprintf ("%s=%s", name, value);
return status;
}
If putenv fails, it generates an error condition, which the
try_putenv function catches and clears. Thus try_putenv
is a function that returns -1 upon failure and 0 upon
success.
|