由于Drakma+CLISP中的错误,HTTP library Drakma on CLISP会生成错误USOCKET:UNSUPPORTED。然而,事实证明,继续重启似乎工作得很好。因此,我花了一些时间阅读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。它没有;它似乎忽略了错误的绑定器。
我该如何解决这个问题?
发布于 2010-12-30 09:49:31
嗯,我不确定我能不能帮到你,但是:你的父母完全搞砸了。像这样试一下:
(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
https://stackoverflow.com/questions/4559121
复制相似问题