Object类中#doesNotUnderstand的实现如何导致在Squeak smalltalk中打开调试器



我知道实现发出了MessageNotUnderstood异常的信号,但这怎么会打开调试器呢?

当异常在发出信号后仍未处理时,将调用其#defaultAction。MessageNotUnderstand>>defaultAction委托给Error>>defaultAction,它发出UnhandledError(另一个异常(信号。这个异常反过来又有一个defaultAction,其代码如下:

^ ToolSet debugError: self exception

如果您使用StandardToolSet(这是常规Squeak图像中的默认设置(,它将打开调试器。

最新更新