Common Lisp 中使用error 报错不能检测&key类型参数
2015-08-12 14:47
459 查看
在common lisp中 如果要使用error 检测函数参数中&key类参数 其实不能实现,原因在于解释器内置报错会首先执行
不如在函数:
(defun foo(&key x y)
(cond (x (print x)) (y (print y)) (t (error "Error from package: ~A" *package*)))
当调用(foo :z 1) 时
SBCL 会首先报错: unknown &KEY argument: :Z
[Condition of type SB-INT:SIMPLE-PROGRAM-ERROR]
不如在函数:
(defun foo(&key x y)
(cond (x (print x)) (y (print y)) (t (error "Error from package: ~A" *package*)))
当调用(foo :z 1) 时
SBCL 会首先报错: unknown &KEY argument: :Z
[Condition of type SB-INT:SIMPLE-PROGRAM-ERROR]
相关文章推荐
- 访问Nginx发生SSL connection error的一种情况
- 星外虚拟主机访问被控出现Unspecified error解决方法
- IIS 错误 Server Application Error 详细解决方法
- On Error Resume Next 语句
- IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法
- Lua编程示例(一):select、debug、可变参数、table操作、error
- 收集整理的http/1.1 500 server error错误的解决方法
- SQL 2005 ERROR:3145 解决办法(备份集中的数据库备份与现有的数据库不同)
- VBScript中On Error语句用法小结
- PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
- node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
- JS Common 2 之比较常用到的函数第1/3页
- PHP 5.3和PHP 5.4出现FastCGI Error解决方法
- 解决mysql ERROR 1017:Can't find file: '/xxx.frm' 错误
- MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
- vs2012 error c4996: This function or variable may be unsafe
- php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error
- ERROR/AndroidRuntime(17121)的问题解决
- IIS提示Server Application Error的解决方法集锦第1/2页
- mysql 有关“InnoDB Error ib_logfile0 of different size”错误