Function WARN

UP


Function WARN

Function WARN

構文

warn datum &rest arguments => nil

引数と戻り値

datum, arguments - コンディション指定子であり、標準の型はsimple-error

定義

warningのコンディションを通知します。 もしコンディションが捕捉されなかったときは、 error-outputにコンディションを報告します。

警告の正確な仕組みは下記の通り。

例文

 (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

副作用

警告が表示されます。 デバッガーに入るかもしれません。

影響

存在するハンドラーの束縛

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

例外

datumがコンディションのとき、 そのコンディションが型warningではなかったか、 あるいは(datumがコンディションでありかつ) argumentsnilでなかったときは、 型type-errorのエラーが通知されます。

datumがコンディションの型のときは、 (apply #'make-condition datum arguments)の結果は 型warningでなければならず、 そうでないときは型type-errorおエラーが通知されます。

参考

*break-on-signals*, muffle-warning, signal,

備考

なし。


TOP, Github