In my code I am using environment variables, but if it (env.var) doesn't exist, I get the error message NAME_ENV_VAR: no such variable, and my script stops executing. For example, in the line
myeval $env($File)
I receive an error:
can't read "env(NIKE_TECH_DIR)": no such variable
while executing
"myeval $env($File)"
(procedure "chooseRelevantFiles" line 39)
invoked from within
"chooseRelevantFiles $::GlobalVars::reqStage"
(file "/vobs/tavor/src/Scripts/ReproduceBug.tcl" line 575)
How can I avoid this error and go on to execute my script?
You could test with info exists
and use a default if the environment variable is not set, eg.
if {[info exists env($File)]} {
set filename $env($File)
} else {
set filename /some/default/path
}
myeval $filename
catch the error then you can do something with it (e.g. log it for later, or use a fall back value) and proceed with your script
e.g.
if {[catch {myeval $env($File)} result]} {
lappend log $result
}
#other stuff
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With