gpt4 book ai didi

exception - 在 Common Lisp 中安装条件处理器

转载 作者:太空宇宙 更新时间:2023-11-03 18:40:16 24 4
gpt4 key购买 nike

由于 Drakma+CLISP 中的错误,CLISP 上的 HTTP 库 Drakma 生成错误 USOCKET:UNSUPPORTED。然而,事实证明 CONTINUE 重新启动似乎工作正常。因此,我花了一些时间引用 CLtL 和其他引用资料,试图确定如何编写重启处理程序。

(defun http-request (url param)
(handler-bind ((USOCKET:UNSUPPORTED
#'(lambda (x)
(invoke-restart 'continue)))))

(drakma:http-request url
:method :post
:parameters
param))

根据我的最佳理解,上面的代码应该捕获错误 USOCKET:UNSUPPORTED。它没有;它似乎忽略了错误 Binder 。

我该如何解决这个问题?

最佳答案

好吧,我不确定我是否可以在这里帮助你,但是:你的 parent 完全搞砸了。像这样尝试:

(defun http-request (url param)
(handler-bind ((usocket:unsupported #'continue))
(drakma:http-request url :method :post :parameters param)))

如果这不起作用,请尝试检查您是否真的在处理正确的情况,以及您期望的重启是否真的可用:

(defun http-request (url param)
(handler-bind ((condition (lambda (c)
(print c)
(print (compute-restarts)))))
(drakma:http-request url :method :post :parameters param)))

或者,您可以查看 IGNORE-ERRORS

关于exception - 在 Common Lisp 中安装条件处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4559121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com