Hi Denis,

On Thu, Feb 25, 2016 at 8:56 AM, Denis Kudriashov <[email protected]>
wrote:

> Hi.
>
> Does anybody know why #doesNotUnderstand: is implemented with recursion at
> the end?
>
> doesNotUnderstand: aMessage
> | exception resumeValue |
> (exception := MessageNotUnderstood new)
> message: aMessage;
> receiver: self.
> resumeValue := exception signal.
> * ^exception reachedDefaultHandler*
> * ifTrue: [aMessage sentTo: self]*
> ifFalse: [resumeValue].
>
>
It's so that when a doesNotUnderstand: occurs and one implements the method
in the debugger one can proceed.  The sentTo: at the end will now invoke
the newly defined method and one can continue programming.

Best regards,
> Denis
>

_,,,^..^,,,_
best, Eliot

Reply via email to