假设我有这个代码:
(handler-case (read ...)
(parse-error (condition)
(format t "What text was I reading last to get this error? ~s~&"
(how-to-get-this-text? condition))))
我只能看到parse-namestring
访问器,但它给出了错误消息,而不是它正在解析的文本。
编辑
在我的情况下,问题不那么普遍,因此不涉及无法解析的整个字符串的替代解决方案也很好。
想象一下我试图解析的这个示例代码:
prefix(perhaps (nested (symbolic)) expressions))suffix
在某些情况下,我需要停止“后缀”,而在其他情况下,我需要继续,后缀本身没有其他含义,只是作为解析器下一步应该采取的行动的指标。