可以在tcl脚本中指定用户定义的错误命令吗? 如果出现任何错误,我想清理内存。我知道最后的错误保存在errorInfo变量中。在tcl脚本中的任何tcl错误上添加回调命令?
1
A
回答
1
您还可以定义一个bgerror程序并调用你的代码作为后台任务:
proc bgerror { msg } {
puts "bgerror:$msg"
# Cleanup code here
}
proc troubleCode { } {
adjsad s ahda
}
after 1 troubleCode
4
3
另一种方法是在leavestep模式下使用执行跟踪,该模式允许您测试每个命令是否执行失败并确定发生的情况。 (这非常类似于AOP中某些类型的方面可以做的事情。)
proc doIt {} {
namespace eval :: {
# Your real code goes in here
}
}
trace add execution doIt leavestep {::apply {{cmd cmdArgs code result op} {
if {$code == 1} {#0 == ok, 1 == error
puts "ERROR >>$result<< from $cmdArgs"
}
}}}
doIt
虽然这很慢。
相关问题
- 1. TCL脚本错误
- 2. 在TCL脚本中执行sed命令
- 3. TCL脚本中的sed命令
- 4. 错误的TCL脚本
- 5. 命令在Ubuntu中运行Perl脚本中的Tcl(expect)脚本
- 6. TCL脚本调试
- 7. TCL clock命令
- 8. 如何在其他tcl脚本中运行tcl脚本?
- 9. 如何从tcl脚本调用bash命令?
- 10. 在tcl/tcsh混合脚本上出现错误()的错误
- 11. 调用从另一个TCL脚本Tcl脚本与多个arguements
- 12. Tcl脚本
- 13. 在OSX中执行TCL脚本时发现“命令未找到”错误
- 14. 如何在tcl中的加载命令上使用interp arg?
- 15. tcl命名空间错误
- 16. 什么tcl命令返回上次评估的命令?
- 17. 的Tcl刷新命令将返回错误
- 18. Tcl错误无效命令名:无效的命令名称” 0.27722296"
- 19. 从命令行获取TCL的版本?
- 20. 使用tcl interp别名重命名内置命令的tcl
- 21. 错误TCL
- 22. Tcl错误:命令已经存在于命名空间“::”
- 23. TCL regsub加号错误
- 24. 在tcl脚本中使用现有的tcl c程序
- 25. 如何使用tcl exec命令运行python脚本
- 26. 任何方式在Tcl命令中嵌入评论?
- 27. 如何在HTML中嵌入TCL脚本
- 28. 如何在Python中运行TCL脚本?
- 29. 当试图使用SVN命令提交文件时,TCL脚本发生错误
- 30. tcl:执行git命令
正如我们不能增加渔获完整的代码,“bgerror”的方式做一些事情。我需要在TCL中有一些复杂的错误系统。感谢您提供关于bgerror的想法。 – OliveOne 2011-05-25 11:54:27