Error handling 使用tcl for循环创建多个组件时跳过错误消息
我是TCL的新手。很抱歉问这么简单的问题。我想使用TCL创建实体 如果在我的范围内有任何组件,我想跳过它并向前增加1步 例如,我创建了comp pshell.15,这段代码一直工作到15岁,然后带着错误退出 请帮助我跳过此错误 问候Error handling 使用tcl for循环创建多个组件时跳过错误消息,error-handling,try-catch,tcl,Error Handling,Try Catch,Tcl,我是TCL的新手。很抱歉问这么简单的问题。我想使用TCL创建实体 如果在我的范围内有任何组件,我想跳过它并向前增加1步 例如,我创建了comp pshell.15,这段代码一直工作到15岁,然后带着错误退出 请帮助我跳过此错误 问候 for {set i 10} {$i <20} {incr i} { *createentity comps name=pshell.$i id=$i puts $i if { [catch {*?????? }] } {
for {set i 10} {$i <20} {incr i} {
*createentity comps name=pshell.$i id=$i
puts $i
if { [catch {*?????? }] } {
incr i
continue
}
}
对于{set i 10}{$i一般来说,假设*createentity comps name=pshell.$i id=$i
命令是正确的(不管它是什么,我真的不知道!),要在失败的情况下跳过错误消息,您应该使用try
。这不会跳过命令,但是,这只允许您优雅地处理它
在继续之前,无需增加i
for {set i 10} {$i < 20} {incr i} {
try {
*createentity comps name=pshell.$i id=$i
} on error {} {
continue
}
puts $i
}
对于{set i 10}{$i<20}{incr i}{
试一试{
*createentity comps name=pshell.$i id=$i
}关于错误{}{
持续
}
投入$i
}
是输入中的*
字符,还是它们试图突出显示内容?(代码高亮显示器根本不尊重它们。)我这样问是因为它不是命令名中的常见字符。此外……错误消息说什么?Tcl的错误消息通常非常擅长描述眼前的问题。