我有一個Scheme應用程序,它接受一些用戶輸入,計算並給出一些輸出。我希望通過啓用某種錯誤處理和順利退出的方式使其更加強大。目前的延續呼叫似乎是填補這一空白的一個方面,但我不太清楚如何去實施它。方案調用/ cc處理錯誤
截至目前,如果用戶輸入一些無效的輸入,程序將崩潰並退出。我只想將用戶保留在應用程序中,而不是提供錯誤消息。下面是我的方法的概要,但我不確定在哪裏實現它,以便如果發生錯誤會導致系統崩潰,只是給出錯誤並將它們保存在程序中。
(define (handle_err)
(call/cc
(lambda (a)
(display "exception handled: a"))))
我也想從程序中徹底退出。也就是說,不是崩潰退出,也不是休息。我希望用戶輸入「離開」,關閉程序並返回到解釋器。我的大綱看起來很像上面的,但它沒有用戶離開程序,它只是把他帶回到輸入提示符。
任何想法表示讚賞。
您使用的是什麼Scheme實現? –
我正在使用r5rs。 – Matt
R5RS是Scheme的標準。您使用的是R5RS的哪些實施?這很重要,因爲各種實現具有衝突的異常系統,並且針對您的問題的解決方案在這些實現之間有所不同。 –