[Cuis-dev] question about Compiler evaluate:

Mark Volkmann r.mark.volkmann at gmail.com
Fri Jan 17 14:56:04 PST 2025


I see the message I'm trying to capture is written to the Transcript in the
UndeclaredVariableWarning instance method defaultAction.
So it doesn't exist as the value of any instance variable I can access.
I don't see an easy way to get such error messages from Compiler evaluate:.

On Fri, Jan 17, 2025 at 4:50 PM Mark Volkmann <r.mark.volkmann at gmail.com>
wrote:

> Thanks! That allows me to avoid writing an error message to the Transcript.
> The other thing I want to do is get the error message ("x is Undeclared"
> in this case) so I can display it in my UI.
> Do you know how I can get that?
> I don't see that in any of the instance variables associated with either
> exception object.
>
> On Fri, Jan 17, 2025 at 12:46 PM Weslleymberg Lisboa via Cuis-dev <
> cuis-dev at lists.cuis.st> wrote:
>
>> Hi, Mark
>>
>> I found 'is Undeclared' in UndeclaredVariableWarning>>defaultAction
>> which seems to match what you see in the transcript.
>>
>> I was able to get rid of the transcript error message by doing:
>>
>> expression := '1 + x'.
>> [ Compiler evaluate: expression ] on: UndeclaredVariableWarning do: [:ex
>> | ex resume: false] on: Error do: [:ex | ex inspect ]
>>
>> To give a little context, I searched for references to the class
>> UndeclaredVariableWarning. One of the results was Encoder>>#undeclared:
>> where the comments mention how to disable the warning.
>>
>> Em 17/01/2025 09:40, Mark Volkmann via Cuis-dev escreveu:
>> > In a Workspace, if I "Do It" the first expression below and "Print It"
>> > the second expression, it prints 3 as expected.
>> >
>> > expression := '1 + 2'.
>> > [ Compiler evaluate: expression ] on: Error do: [ :ex | ex inspect ].
>> >
>> > Now if I change the 2 in expression to x and repeat, it prints
>> > the following:
>> >
>> > MessageNotUnderstood: UndefinedObject>>adaptToNumber:andSend:
>> >
>> > It also writes the following to the Transcript:
>> >
>> > UndefinedObject>>DoIt (x is Undeclared)
>> >
>> > Looking in the Inspect window I see that none of the instance variables
>> > contain "x is Undeclared". I really want to get that string. I've
>> > searched the Compiler methods and haven't found a way to do this. Does
>> > anyone know how I could access that error message?
>> >
>> > I'd also like to prevent the error message from being written to the
>> > Transcript so I can completely handle it in my code.
>> >
>> > --
>> > R. Mark Volkmann
>> > Object Computing, Inc.
>> >
>>
>> --
>> Wéslleymberg Lisboa
>> Graduado em Sistemas de Informação
>> Docente no IFFluminense - Campus Itaboraí
>>
>> --
>> Cuis-dev mailing list
>> Cuis-dev at lists.cuis.st
>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>
>
>
> --
> R. Mark Volkmann
> Object Computing, Inc.
>


-- 
R. Mark Volkmann
Object Computing, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20250117/aed7646c/attachment.htm>


More information about the Cuis-dev mailing list