关于standard libraries for Scheme r6rs的手册建议,如果导入库(rnrs exceptions (6)),则应该能够调用(error? val)来检查给定值是否为&error类型。我想为单元测试做这件事。我已将库添加到导入标头中,并且代码可以编译,因此我知道导入工作正常。但是DrRacket仍然将error?识别为未定义。有人知道这是怎么回事吗?

我的代码:

#!r6rs
(import (rnrs base) (rnrs exceptions (6)))
(error? "hello world")

最佳答案

您需要conditions库:

#!r6rs
(import (rnrs) (rnrs conditions))
(display (error? "hello world"))


产量

=> #f

09-03 19:53