TCL脚本中的错误

TCL脚本中的错误,tcl,Tcl,我返回了一个命令,用tcl脚本行调用我的RTL编译器(Cadence工具) puts [exec rc -f script.g ] 我得到了类似于中止子进程的错误。而如果直接在我的控制台上编写它来调用工具$-rc-f script.g,它将得到完美的执行。exec在以下情况下返回错误条件: exec'ed命令以非零状态返回 或者打印到stderr 这样做 if {[catch {exec rc -f script.g} output] == 0} { # normal exit s

我返回了一个命令,用tcl脚本行调用我的RTL编译器(Cadence工具)

puts [exec rc -f script.g ]

我得到了类似于中止子进程的错误。而如果直接在我的控制台上编写它来调用工具$-rc-f script.g,它将得到完美的执行。

exec
在以下情况下返回错误条件:

  • exec'ed命令以非零状态返回
  • 或者打印到stderr
这样做

if {[catch {exec rc -f script.g} output] == 0} {
    # normal exit status
    puts $output
} elseif {$errorCode eq NONE} {
    # normal exit status, but some output to stderr (contained in $output)
    puts $output
} else {
    # some error condition.
    # see http://wiki.tcl.tk/1039 for ways to handle
    puts "some error occurred: $errorCode"
}

退出代码是什么?此进程是否写入标准输出?错误消息到底是什么?编译器工具无法调用并返回错误:子进程中止更好的修复方法可能是重定向标准错误。在不知道实际故障模式的情况下很难判断。