Function TYPE-ERROR-DATUM
, TYPE-ERROR-EXPECTED-TYPE
type-error-datum
condition => datum
type-error-expected-type
condition => expected-type
condition - type-error
型のコンディション
datum - オブジェクト
expected-type - 型指定子
type-error-datum
は、conditionによって表現された状況の 問題のデータを返却します。
type-error-expected-type
は、conditionによって表現された状況の、 問題のデータに対する期待した型を返却します。
defun fix-digits (condition)
(check-type condition type-error)
(let* ((digits '(zero one two three four
(
five six seven eight nine))position (type-error-datum condition) digits)))
(val (if (and val (subtypep 'fixnum (type-error-expected-type condition)))
(store-value 7))))
(
defun foo (x)
(handler-bind ((type-error #'fix-digits))
(check-type x number)
(+ x 3)))
(
(foo 'seven)=> 10
なし。
なし。
なし。
なし。