|
ANSI Common Lisp 9 Conditions 9.2 Dictionary of Conditions
- 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.
|