Eon*_*nil 5 error-handling smalltalk
我是Smalltalk的新手.我已经阅读了一些关于它的文章和文档,我对其概念的完整性感到惊讶.它提供了某种实时调试.
无论如何,对于程序错误,错误意味着程序逻辑错误,并且程序的所有累积突变都是无效的.为了保证完整性,应该从某个点重新启动整个程序,并且应该回滚整个程序状态.
Smalltalk如何处理这个问题?(也许这个问题可以应用于所有动态REPL语言...)
小智 6
Smalltalk使用Exception对象.我建议你阅读关于https://gforge.inria.fr/frs/download.php/26600/PBE2-Exceptions-2010-03-02.pdf的章节.
它是Pharo By Example书的一部分:http://pharobyexample.org/
关于变异,调试等,请注意Smalltalk在语言中有很多东西.例如,MethodContext类.这些对象代表VM正在执行的方法上下文.所以你可以检查它们,并像普通物体一样玩它们.与CompiledMethod相同.只是为了好玩,检查"伪"变量'thisContext':)
如果您想自己回答答案,请查看Debugger类.那么,您想知道在调试器中间重新启动方法时会发生什么吗?然后在Debugger中浏览方法#restart并按照:)
| 归档时间: |
|
| 查看次数: |
209 次 |
| 最近记录: |