Next: , Previous: Exceptions, Up: Control Mechanisms


26.8 Procedures for Signaling Errors

Guile provides a set of convenience procedures for signaling error conditions that are implemented on top of the exception primitives just described.

— Scheme Procedure: error msg args ...

Raise an error with key misc-error and a message constructed by displaying msg and writing args.

— Scheme Procedure: scm-error key subr message args rest
— C Function: scm_error_scm (key, subr, message, args, rest)

Raise an error with key key. subr can be a string naming the procedure associated with the error, or #f. message is the error message string, possibly containing ~S and ~A escapes. When an error is reported, these are replaced by formating the corresponding members of args: ~A formats using display and ~S formats using write.

rest is a list or #f depending on key: If key is system-error then it should be a list containing the Unix errno value; If key is signal then it should be a list containing the Unix signal number; otherwise it will usually be #f.

— Scheme Procedure: strerror err
— C Function: scm_strerror (err)

Return the Unix error message corresponding to err, an integer.

— Syntax: false-if-exception expr

Returns the result of evaluating its argument; however if an exception occurs then #f is returned instead.