emacs.d/clones/lisp/www.cs.cmu.edu/Groups/AI/html/cltl/clm/node11.html

76 lines
4.4 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
<!Converted with LaTeX2HTML 0.6.5 (Tue Nov 15 1994) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
<HEAD>
<TITLE> 1.2.4. Errors</TITLE>
</HEAD>
<BODY>
<meta name="description" value=" Errors">
<meta name="keywords" value="clm">
<meta name="resource-type" value="document">
<meta name="distribution" value="global">
<P>
<b>Common Lisp the Language, 2nd Edition</b>
<BR> <HR><A NAME=tex2html1620 HREF="node12.html"><IMG ALIGN=BOTTOM ALT="next" SRC="icons/next_motif.gif"></A> <A NAME=tex2html1618 HREF="node7.html"><IMG ALIGN=BOTTOM ALT="up" SRC="icons/up_motif.gif"></A> <A NAME=tex2html1612 HREF="node10.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="icons/previous_motif.gif"></A> <A NAME=tex2html1622 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="icons/contents_motif.gif"></A> <A NAME=tex2html1623 HREF="index.html"><IMG ALIGN=BOTTOM ALT="index" SRC="icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME=tex2html1621 HREF="node12.html"> Descriptions of Functions </A>
<B>Up:</B> <A NAME=tex2html1619 HREF="node7.html"> Notational Conventions</A>
<B> Previous:</B> <A NAME=tex2html1613 HREF="node10.html"> EvaluationExpansion, and </A>
<HR> <P>
<H2><A NAME=SECTION00524000000000000000> 1.2.4. Errors</A></H2>
<A NAME=INTROERRORS>When</A>
this book specifies that it ``is an error'' for some situation
to occur, this means that:
<UL><LI> No valid Common Lisp program should cause this situation to occur.
<P>
<LI> If this situation occurs, the effects and results are completely
undefined as far as adherence to the Common Lisp specification is concerned.
<P>
<LI> No Common Lisp implementation is required to detect such an error.
Of course, implementors are encouraged to provide for detection
of such errors wherever reasonable.
</UL>
This is not to say that some particular implementation might not define
the effects and results for such a situation; the point is that no program
conforming to the Common Lisp specification may correctly depend on such
effects or results.
<P>
On the other hand, if it is specified in this book that in some situation
``an error is <i>signaled</i>,'' this means that:
<UL><LI> If this situation occurs, an error will be signaled
(see <tt>error</tt> and <tt>cerror</tt>).
<P>
<LI> Valid Common Lisp programs may rely on the fact that an error will be signaled.
<P>
<LI> Every Common Lisp implementation is required to detect such an error.
</UL>
<P>
In places where it is stated that so-and-so ``must'' or ``must not''
or ``may not'' be the case, then it ``is an error'' if the stated requirement
is not met. For example, if an argument ``must be a symbol,'' then it
``is an error'' if the argument is not a symbol. In all cases where
an error is to be <i>signaled</i>, the word ``signaled'' is always used
explicitly in this book.
<P>
<img align=bottom alt="change_begin" src="gif/change_begin.gif"><br>
X3J13 has adopted a more elaborate terminology for errors,
and has made some effort to specify the type of error to be signaled
in situations where signaling is appropriate. This effort
was not complete as of September 1989, and I have made little
attempt to incorporate the new error terminology or
error type specifications in this book. However, the new terminology
is described and used in the specification of the
Common Lisp Object System appearing in chapter <A HREF="node260.html#CLOS">28</A>; this gives
the flavor of how erroneous situations will be described,
and appropriate actions prescribed, in the forthcoming ANSI Common
Lisp standard.
<br><img align=bottom alt="change_end" src="gif/change_end.gif">
<BR> <HR><A NAME=tex2html1620 HREF="node12.html"><IMG ALIGN=BOTTOM ALT="next" SRC="icons/next_motif.gif"></A> <A NAME=tex2html1618 HREF="node7.html"><IMG ALIGN=BOTTOM ALT="up" SRC="icons/up_motif.gif"></A> <A NAME=tex2html1612 HREF="node10.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="icons/previous_motif.gif"></A> <A NAME=tex2html1622 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="icons/contents_motif.gif"></A> <A NAME=tex2html1623 HREF="index.html"><IMG ALIGN=BOTTOM ALT="index" SRC="icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME=tex2html1621 HREF="node12.html"> Descriptions of Functions </A>
<B>Up:</B> <A NAME=tex2html1619 HREF="node7.html"> Notational Conventions</A>
<B> Previous:</B> <A NAME=tex2html1613 HREF="node10.html"> EvaluationExpansion, and </A>
<HR> <P>
<HR>
<P><ADDRESS>
AI.Repository@cs.cmu.edu
</ADDRESS>
</BODY>