[Cuis-dev] question about Compiler evaluate:

Weslleymberg Lisboa weslleym.lisboa at gmail.com
Fri Jan 17 10:46:40 PST 2025


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í



More information about the Cuis-dev mailing list