【发布时间】:2012-11-11 09:42:57
【问题描述】:
我有一个 Scheme 应用程序,它接受一些用户输入、计算并给出一些输出。我想通过启用某种错误处理和一种平稳退出的方式来使其更加健壮。调用当前延续似乎是填补这个空白的东西,但我不太确定如何去实现它。
截至目前,如果用户输入了一些无效的输入,程序将崩溃并退出。我只想将用户保留在应用程序中并给出错误消息。这是我的方法的概述,但我不确定在哪里实现它,以便如果发生通常会使系统崩溃的错误,只需给出错误并将它们保留在程序中。
(define (handle_err)
(call/cc
(lambda (a)
(display "exception handled: a"))))
我还想彻底退出程序。也就是说,不是崩溃退出,也不是休息。我希望用户输入“离开”,关闭程序并返回解释器。我的大纲看起来很像上面的,但它没有让用户离开程序,它只是让他回到输入提示。
感谢任何想法。
【问题讨论】:
-
你使用的是什么 Scheme 实现?
-
R5RS 是 Scheme 的标准。你使用的是什么 R5RS 实现?这很重要,因为各种实现具有相互冲突的异常系统,并且针对您的问题的解决方案因这些实现而异。
-
啊,我明白了。我正在使用 umb 方案,随 Linux 一起提供。还是...