proc handler { args } {
if { [catch {eval $args} errorMessage] } {
_report_error "$errorMessage"
}
}
args 是从另一个 TCL 文件调用的脚本
proc is_threshold_percent {thresholdValue } {
#some code here
if { [ string is double -strict $threshold ] && $threshold < 0 } {
error "Threshold ${threshold}% must be positive."
}
return 1
}
return 0
}
如果没有 catch 块,它通常会打印错误并且程序退出并出现错误,但我需要处理错误消息并添加更多详细信息,并且 catch 块会忽略错误并“正常”完成。