![[LISPWORKS]](../Graphics/LWSmall.gif)
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
Notes: None.