ToC DocOverview CGDoc RelNotes Index PermutedIndex
Allegro CL
Home Previous Up Next Table of Contents Index
  ANSI Common Lisp   9 Conditions   9.2 Dictionary of Conditions

9.2.20 warn Function

Syntax:
warn datum &rest arguments    nil

Arguments and Values:
datum, arguments - designators for a condition of default type simple-warning.

Description:
Signals a condition of type warning. If the condition is not handled, reports the condition to error output.

The precise mechanism for warning is as follows:

Examples:
  (defun foo (x)
    (let ((result (* x 2)))
      (if (not (typep result 'fixnum))
          (warn "You're using very big numbers."))
      result))
  FOO
 
  (foo 3)
 6
 
  (foo most-positive-fixnum)
 Warning: You're using very big numbers.
 4294967294
 
  (setq *break-on-signals* t)
  T
 
  (foo most-positive-fixnum)
 Break: Caveat emptor.
 To continue, type :CONTINUE followed by an option number.
 1: Return from Break.
 2: Abort to Lisp Toplevel.
 Debug> :continue 1
 Warning: You're using very big numbers.
 4294967294

Side Effects:
A warning is issued. The debugger might be entered.

Affected By:
Existing handler bindings.

*break-on-signals*, *error-output*.

Exceptional Situations:
If datum is a condition and if the condition is not of type warning, or arguments is non-nil, an error of type type-error is signaled.

If datum is a condition type, the result of (apply #'make-condition datum arguments) must be of type warning or an error of type type-error is signaled.

See Also:
*break-on-signals*, muffle-warning, signal

Allegro CL Implementation Details:
None.

Home Previous Up Next Table of Contents Index
© Franz Inc. 1998-2009 - File last updated 7-21-2009