本文转载自:<span id="profileBt"><a href="https://mp.weixin.qq.com/s/fzgmdb2KKsShMWvvewRmxQ"> FPGA打工人</a></span>
<font color="#FF8000">注:本文由作者授权转发,如需转载请联系作者本人</font>
tcl脚本提供了错误和异常处理机制,error可以看做是异常的特例,毕竟导致脚本被终止,除了error还有break、continue、return等。下面是与异常有关的tcl命令。
catch命令:
catch command ?varName?
把command作为tcl脚本求值,返回一个整型值表明command结束的状态。假如设置了varName,则varName用于保存command产生的错误消息。
<center><img src="http://xilinx.eetrend.com/files/2022-07/%E5%8D%9A%E5%AE%A2/100562424-26…; alt=""></center>
error命令:
error message ?info? ?code?
产生一个错误,并把message作为错误信息。假如设置了code,将被存储到全局变量errorCode中。
return命令:
return -code code ?-errorinfo info? ?-errorcode errorCode? ?string?
使特定过程返回一个异常。code指明异常的类型,必须是ok,error,return,break,continue或者是一个整数。-errorinfo选项用于指定全局变量errorInfo 的初始值,-errorcode用于指定全局变量errorCode的初始值。string给出return的返回值或者是相关的错误信息,其默认值为空。
有时可能需要查看一个错误的详细信息,除了命令返回值中的错误信息外,还可以查看全局变量errorInfo和errorCode的值。