![[LISPWORKS]](../Graphics/LWSmall.gif)
![[Common Lisp HyperSpec (TM)]](../Graphics/CLHS_Sm.gif) 
 ![[Previous]](../Graphics/Prev.gif)
![[Up]](../Graphics/Up.gif)
![[Next]](../Graphics/Next.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.
![[Starting Points]](../Graphics/StartPts.gif)
![[Contents]](../Graphics/Contents.gif)
![[Index]](../Graphics/Index.gif)
![[Symbols]](../Graphics/Symbols.gif)
![[Glossary]](../Graphics/Glossary.gif)
![[Issues]](../Graphics/Issues.gif)