在 Proc TCL 中退出并 Return

Exit and Return in Proc TCL

我想知道过程中的 Exit 和 Return 之间的区别。 我有一个包含很多过程的脚本,其中一个使用 exit 和一些值 ex:

proc someProc {code} {
    exit $code
}

还有一个像这样:

proc multiply {value} {
    set number [expr {$value * 5}]
    return $number
}

退出是停止运行脚本还是有什么区别?

exit命令使当前进程停止。 运行 程序将在之后消失(尽管包含代码的文件仍然存在)。它的可选参数是要交给 OS 的错误代码;默认值为零,完全没有错误。

return 命令使当前 过程调用 停止。可选参数提供了一种方式来说明调用过程的结果是什么;默认为空字符串(假定 Tcl 根本没有 NULL/null/nil/等)。

在内部,exit对“停止运行这个程序”进行系统调用OSAPI,return抛出异常通用程序管理代码转化为调用结果。