如何在Scheme中检查值是否为“error”类型?

时间:2014-02-08 22:11:30

标签: exception testing exception-handling scheme r6rs

standard libraries for Scheme r6rs上的手册表明,如果我导入库(rnrs exceptions (6)),我应该可以调用(error? val)来检查给定值是否为&error类型。我想这样做进行单元测试。我已经将库添加到我的导入标题中并且代码编译了,所以我知道导入工作正常。但是DrRacket仍然认为error?是未定义的。有谁知道这里发生了什么?

我的代码:

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

1 个答案:

答案 0 :(得分:1)

您需要conditions库:

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

产量

=> #f