MIT方案中的异常处理

标签 exception scheme mit-scheme

如何在 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/

相关文章:

scheme - 为什么我在 Scheme 函数中出现 `Generic operator inapplicable` 错误

scheme - 如何编辑Scheme的Sublime text 3构建系统以允许从文件输入?

recursion - 方案中的迭代图

python - 异步 : Weirdness of Task exception was never retrieved

python - 为什么 BeautifulSoup 会抛出这个 HTMLParseError?

functional-programming - 方案:使用fold实现n参数编写

scheme - 如何在 MIT Scheme 中获取我的函数定义?

scheme - Mit-Scheme 中的空值?

java - 当请求的页面或方法找不到时如何定义全局页面?

java - com.google.gson.JsonSyntaxException :Expected STRING but was BEGIN_ARRAY