tcl/tk参考——控制结构error

.

.

 

名称

error - 产生一个错误

语法

error message ?info? ?code?

描述

返回一个TCL_ERROR代码并且终止脚本运行,message存储错误消息。

解释器的-errorinfo可选项用来记录当错误发生时堆栈状况(通俗点说就是发生错误的地方),当命令执行时,解释器会给-errorinfo添加信息。如果info变元存在,就用来初始化-errorinfo。换句话说,包含error命令的命令不会出现在堆栈记录上,它的信息将被info代替。这个用法在catch中非常有用,当捕获一个不能够传递的错误时,info可以用来返回一个堆栈跟踪信息来反馈错误发生点。

catch {...} errMsg
set savedInfo $::errorInfo
    ...
error $errMsg $savedInfo

当在Tcl8.5或更新的版本中,下面的代码将被用于替代:

catch {...} errMsg options
    ...
return -options $options $errMsg

如果code变元存在,它的值就存储在-errorcode中返回,-errorcode返回一个机器可读的错误描述,察看return帮助以获取更多的信息。

示例

如果基本数学操作失败就产生一个错误:

if {1+2 != 3} {
    error "something is very wrong with addition"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值