深入探索Common Lisp:异常处理与Web服务器搭建
1. Common Lisp异常处理系统概述
Common Lisp具备一套广泛的特性,用于处理代码中意外的异常情况。该异常处理系统非常灵活,能实现大多数其他语言的异常系统无法完成的任务。
2. 条件信号的发送
在编写函数时,若出现严重问题,Lisp函数可通过发送条件信号来通知Lisp环境。可能出现的问题包括函数尝试除以零、库函数接收到错误类型的参数,或者因绊倒网络电缆导致套接字通信中断。
若要直接发送条件信号,可使用 error 命令。当自己编写的函数检测到严重问题,致使程序无法正常继续运行时,可使用此命令。使用 error 命令会中断正在运行的Lisp程序,除非在其他地方拦截该错误以防止中断。示例如下:
> (error "foo")
*** - foo
The following restarts are available:
ABORT :R1 Abort main loop
>
多数情况下,程序发送条件信号并非是因为手动调用了 error ,而是由于程序存在漏洞,或者调用的库函数发送了条件信号。无论何种原因导致程序无法正常执行,都会触发条件信号,程序将停止并显示错误提示。
3. 自定义条件的创建
在第一个示例中,我们向 error 命令传递了描述条件的字符串,但该字符串仅用于自定义错
超级会员免费看
订阅专栏 解锁全文
1626

被折叠的 条评论
为什么被折叠?



