如何在 MIT 方案中引发和处理异常?
类似于[它不起作用]
((< val 0) (raise "-ve value") )
最佳答案
文档确实提供了答案,但没有代码示例,所以这里是一个:
(define (handler x)
(display "Handling Error: ")(display x)(newline)
(restart 1))
这里我们只是显示错误(文档中称之为“条件”) 并且什么也不做。
要让此函数处理所有条件,请执行以下操作:
(bind-default-condition-handler '() handler)
或者您可以只用以下内容包装一个代码块:
(bind-condition-handler '() handler (3 4))
关于MIT方案中的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4968524/