gpt4 book ai didi

smalltalk - Smalltalk 如何处理程序错误?

转载 作者:行者123 更新时间:2023-12-04 17:12:43 28 4
gpt4 key购买 nike

我是 Smalltalk 的新手。我已经阅读了一些关于它的文章和文档,我对它概念的完整性感到惊讶。它提供了某种实时调试。

不管怎样,对于程序错误,错误意味着程序逻辑错误,程序累积的所有突变都是无效的。为了保证完整性,整个程序应该从某个点重新启动,并且整个程序状态应该是回滚的。

Smalltalk 如何处理这个问题? (也许这个问题可以适用于所有动态 REPL 语言...)

最佳答案

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 类。那么,您想知道在调试器中途重启方法时会发生什么吗?然后在调试器中浏览方法#restart 并遵循:)

关于smalltalk - Smalltalk 如何处理程序错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6333803/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com