我使用DrRacket 6.6并使用 #lang sicp ,一切看起来不错但功能错误不存在,它说:
错误:模块中的未绑定标识符:错误
为什么呢?
答案 0 :(得分:1)
sicp软件包的文档不包含标识符error
,因此它不是语言#lang sicp
的一部分。 sicp包的目的是为R5RS命名空间添加一些书籍特殊绑定,但是书中没有提到名为error
的过程或特殊形式。
根据DrRacket中的标准语言#lang racket
,在当前标准Scheme下,#!r6rs
,error
是一个可用于发出错误信号的过程(在R6RS中称为异常) )。
仅从error
添加racket/base
:
#lang sicp
(#%require (only racket/base error))
(error "some error") ; error gets thrown