我想找到触发MNU的消息名称,我该怎么办?
例如,如果我
Transcript explode .
这将触发MNU,因为方法爆炸不存在,但是如何找到触发MNU的消息的名称是"爆炸" ?
答案 0 :(得分:4)
试试这个:
[成绩单爆炸] on:MessageNotUnderstood 做:[:ex |前消息选择器]
异常消息是Message的一个实例。它理解选择器参数等。
请记住,例外是一种附带现象。当不理解消息时,VM实际上发送了doesNotUnderstand:aMessage,并且Object中的doesNotUnderstand:方法引发了异常。 doesNotUnderstand:的参数是一条消息,与异常中的诅咒相同。这意味着如果您有特殊要求,可以在自己的类中实现自己的doNotUnderstand:消息。
答案 1 :(得分:3)
如果我这样做,我会得到一个调试器。标题是
MessageNotUnderstood: ThreadSafeTranscript>>explode
当我选择第一个元素时,我会看到doesNotUnderstand:aMessage,其中aMessage是消息