检查 class 是否在 TCL OO 中定义,不使用 catch

check if a class is defined in TCL OO, not using catch


我有一个代码,我想确保确实加载了 class 定义。 假设 class 名称是 foo。我可以做到以下几点:
if { [ catch { foo new } ] } { source "path_to_code" }
有没有办法做到不抓到?

您可以使用info命令:

if {![info object isa class foo]} {source "path_to_code"}