Error handling 通用Lisp键盘中断

Error handling 通用Lisp键盘中断,error-handling,common-lisp,keyboardinterrupt,Error Handling,Common Lisp,Keyboardinterrupt,是否有一种跨平台(Linux/Windows/OS X)的方式(至少是SBCL、CCL、Lispworks和CLISP)在公共Lisp中捕获键盘中断?或者更具体地说,让键盘中断 我在一个文件中有这个代码片段 ... (handler-case ... ((not simple-error) () (error! +400+ ready))) ... 其目的是处理错误,但让用户用键盘中断程序(在Linux上的SBCL中显示为简单错误)。但是,这在CCL中似乎不起作用(即使主代码没有抛

是否有一种跨平台(Linux/Windows/OS X)的方式(至少是SBCL、CCL、Lispworks和CLISP)在公共Lisp中捕获键盘中断?或者更具体地说,让键盘中断

我在一个文件中有这个代码片段

...
(handler-case
    ...
  ((not simple-error) () (error! +400+ ready)))
...
其目的是处理错误,但让用户用键盘中断程序(在Linux上的SBCL中显示为
简单错误
)。但是,这在
CCL
中似乎不起作用(即使主代码没有抛出错误,该错误子句似乎也会触发)


在这种情况下,什么是正确的方法?

看看这个:如果您可以通过指定您正在谈论的操作系统和实现来限制您的问题,这可能会有所帮助。请记住,Common Lisp是一种古老的语言,在某些操作系统上有一些可能与此无关的实现。@Verdamelt-注意,并更新了问题。