Ben,

Can you send me a saved sketch producing the error (not the whole
image), I would like to see track and register the error on the bug tracler.

Hilaire


Le 24/10/2011 15:56, Ben Coman a écrit :
> Thanks for your comment Bill.  I need to learn more about good exception
> handling for my own applications.
> What I was surprised about was that nil appeared to receive a #do: but
> not raise an error, and that next step in execution was
> OrderedCollection>>do: . Anyway, saving the sketch, closing the image,
> and the next day opening the sketch has cleared the error.
> 
> Ben
> 
> Schwab,Wilhelm K wrote:
>> Ben,
>>
>> I can't comment on the workings of Dr. Geo, but since you ask about
>> #do:, nil, least surprise etc., I can tell you that errors are your
>> friends.  Note that there is a difference between sending #do: to nil
>> (would you really expect "nothing" to know how to iterate its
>> contents?) and sending #do: to a collection that contains elements,
>> some of which happen to be nil?  In the latter case, would it really
>> be non-surprising to have nil elements treated differently from their
>> peers?  Would you have them treated differently only if nil encounters
>> a problem doing what is asked of it?  In that case, #do: would have to
>> trap and suppress errors, at least for nil entries.
>>
>> All of that sounds pretty surprising to me.  Eventually, it will to
>> you too.  Happy Smalltalking!
>>
>> Bill
>>
>>
>>
>> ________________________________________
>> From:
>> [email protected] 
>> [[email protected]]
>> On Behalf Of Ben Coman [[email protected]]
>> Sent: Saturday, October 22, 2011 2:36 PM
>> To: [email protected]
>> Subject: [Pharo-project]
>> [BUG]UndefinedObject(Object)>>doesNotUnderstand:       #update
>>
>> I was using DrGeo for the first time from the bundled release 11.08 on
>> Windows 7.  About 30 minutes in I drew three equally intersecting
>> circles, added a reflection line with each circle reflected.  I added a
>> free point with a middle (I think to a circle) and was trying to add a
>> locus.
>>
>> When moving any of the points defining the circles I am getting a dozen
>> or more cascading MNUs down the screen.  Moving the reflection line
>> still works okay.
>>
>> The error occurs in following method...
>> DrGeo>>updateDirtyCostumes
>>     self presenter tool costumes do: [ :each | each update ].
>>     self area changed
>>
>> In the debugger inspecting "self presenter tool costumes" returns nil.
>> While I can't judge whether returning nil is valid here, as a Smalltalk
>> newbie what I am really interested in is:
>>
>> 1. The semantics of sending a "do:" message to nil.  By the principle of
>> least surprise I would expect that it would do ...nothing, whereas here
>> it tries later sending the "update" method to it.
>>
>> 2. Why in lines 0027 and 0641 is the "do:" method received by
>> OrderedCollection and not UndefinedObject? Actually I can't see "do:" in
>> the hierarchy of UndefinedObject, so why does UndefinedObject not raise
>> a MNU for "do:" ?
>>
>> The image with the error is available at...
>> http://blog.openinworld.com/miscfiles/DrGeo-updateDirtyCostumes-MNU-2011-10-22-btc.zip
>>
>>
>> The stack trace generated by the <Mail out bug report> menu item is
>> below. I wasn't sure how much of it to cut or leave, so I've left it all.
>> ------------------8<-------------------------
>> 00000001 22 October 2011 10:27:03 pm
>> 00000002
>> 00000003 VM: Win32 - IX86 - NT - Squeak3.10.2 of 11 February 2010
>> [latest update: #9314]
>>
>>
>>
>>
>>
>>   
> 
> 
> 


-- 
Education 0.2 -- http://blog.ofset.org/hilaire


Reply via email to